Docker如何获取容器使用的卷

28

我正在使用 Docker 版本 1.10。如何获取容器使用的卷?

我知道可以通过以下方式获取容器:

docker ps

我可以使用以下代码来检查它们:

docker inspect $containerID

我也知道Volume API是可用的,因此我也可以执行以下操作:

docker volume ls

docker volume inspect $volumeID

但我找不到它们之间的任何链接信息。我该使用什么?

1个回答

44

您可以通过以下方式获取容器的详细卷信息:

docker inspect --format="{{.Mounts}}" $containerID
如果我创建了一个名为"volumehello"的卷,并启动一个名为"hello"的容器,该容器使用"volumehello":
docker volume create --name volumehello
docker run -it -d --name=hello -v volumehello:/tmp/data hello-world

然后我们可以通过运行以下命令来获取“hello”容器的容量信息:

docker inspect --format="{{.Mounts}}" hello

我们将得到:

[{volumehello /var/lib/docker/volumes/volumehello/_data /tmp/data local z true rprivate}]
  • volumehello是卷的名称
  • /var/lib/docker/volumes/volumehello/_data是卷在主机上的位置
  • /tmp/data是容器内映射到卷的位置

但是如果我没有先创建卷,而是使用运行命令来创建它,例如docker run -it -d --name=hello -v /opt:/tmp/data hello-world,它就没有名称,那么我该如何识别它呢? - bitgandtter
9
如果卷是绑定的,那么我们得到的卷名称只是“bind”。对于已绑定的卷,我们如何发现卷与容器之间的链接? - Edward Newell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接