Docker 1.9.1 中的数据容器不存在卷

Docker volumes doesn't exist for data container in 1.9.1

Docker Windows 7 平台上的工具箱 1.9.1

当我使用docker inspect 命令时,我创建的数据容器没有卷。

$ sudo mkdir /abc
$ docker run -d --name data -v /abc:/hostabc busybox true
$ docker inspect --format "{{ .Config.Volumes }}" data
map[]

我在1.7.1也试过了,显示如下

$ docker inspect --format "{{ .Volumes }}" data   # in 1.7.1 it is Volumes directly
map[/hostabc:/abc]

我在创建数据容器时做错了什么吗?

或者还有其他地方可以检查数据容器中的volumes

试试看

docker inspect -f '{{ (index .Mounts 0).Source }}' containerid

如果你有多个共享,那么简单地使用 range 如下

docker inspect -f '{{range $k := .Mounts}}{{println $k.Source }}{{end}}' containerid

,自 docker 1.8

以来发生了变化

注意:PR 45 raised by the OP is now merged 带有如下指令:

version=`$docker -v 2>&1 | awk -F'[ .]' '{printf "%2.f%02.f%02.f",,,}'`

# echo $version

if [ $version -gt 10800 ]; then
    echo "docker version 1.8+"
    volumes=`$docker inspect --format='{{range $k := .Mounts}}{{println $k.Destination}}{{end}}' "$container" |  grep -v -E "^$"`
else
    echo "docker version <1.8"
    volumes=`$docker inspect --format='{{range $k,$v := .Volumes}}{{println $k}}{{end}}' "$container" |  grep -v -E "^$"`
fi