当使用来自注册中心的docker映像时,我经常需要查看映像容器创建的卷。

注意:我在Red Hat 7上使用docker 1.3.2版本。

例子

Docker Registry的postgress官方镜像有一个为容器/var/lib/postgresql/data.配置的卷

在postgres容器中显示/var/lib/postgresql/data的卷最简洁的命令是什么?


当前回答

从Docker文档这里

.Mounts Names of the volumes mounted in this container.

码头工人ps————no-trunc格式”{{.ID}} {{. name}} \ \ t t {{.Mounts}}”

应该工作

其他回答

从Docker文档这里

.Mounts Names of the volumes mounted in this container.

码头工人ps————no-trunc格式”{{.ID}} {{. name}} \ \ t t {{.Mounts}}”

应该工作

docker inspect -f '{{ json .Mounts }}' containerid | jq '.[]'

对于Docker 1.8,我使用:

$ docker inspect -f "{{ .Config.Volumes }}" 957d2dd1d4e8
map[/xmount/dvol.01:{}]
$ 

如果您正在使用pwsh (powershell核心),可以尝试一下

(docker ps --format='{{json .}}' |  ConvertFrom-Json).Mounts

你也可以看到下面的容器名称和装载

docker ps --format='{{json .}}' |  ConvertFrom-Json | select Names,Mounts

当输出被转换为json时,您可以获得它所具有的任何属性。

我们可以不使用-f Go模板语法:

docker inspect <CONTAINER_ID> | jq .[].Mounts

第一个jq操作jq .[]将对象{}包装器剥离。

第二个jq操作将返回所有Mount项。