Docker如何获取容器使用的卷

bit*_*ter 12 docker

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

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

docker ps
Run Code Online (Sandbox Code Playgroud)

我可以用以下方式检查它们:

docker inspect $containerID
Run Code Online (Sandbox Code Playgroud)

我也知道卷API可用,所以我也可以这样做:

docker volume ls
Run Code Online (Sandbox Code Playgroud)

docker volume inspect $volumeID
Run Code Online (Sandbox Code Playgroud)

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

Kiw*_*Lau 21

您可以通过获取容器的详细信息量信息

docker inspect --format="{{.Mounts}}" $containerID
Run Code Online (Sandbox Code Playgroud)

如果我创建一个名为"volumehello"的卷,并启动一个名为"hello"的容器,该容器使用"volumehello":

docker volume create --name volumehello
docker run -it -d --name=hello -v volumehello:/tmp/data hello-world
Run Code Online (Sandbox Code Playgroud)

然后我们可以通过运行获取"hello"容器的卷信息:

docker inspect --format="{{.Mounts}}" hello
Run Code Online (Sandbox Code Playgroud)

我们将得到:

[{volumehello /var/lib/docker/volumes/volumehello/_data /tmp/data local z true rprivate}]
Run Code Online (Sandbox Code Playgroud)
  • volumehello是卷名
  • / var/lib/docker/volumes/volumehello/_data的主机位置
  • / tmp/data是容器中卷的映射位置

  • 如果卷被绑定,那么我们获得的卷名称就是"绑定".对于绑定卷,我们如何发现卷和容器之间的链接? (4认同)