查找哪个容器使用Docker Volume

时间:2018-06-03 17:13:43

标签: docker

在运行docker volume ls时,响应包含:

DRIVER              VOLUME NAME
local               09033b4b22135832411ff485d5adc90e778316c1b9ba27bf8032cb65b8de557b
local               2ae85f4d2270716f936c4ef06e1a9408f90826258c7489a150125ff9d13ce79c
local               58497ac069495708d3bd17aab2b16b9a02badd245de4614a05a7133bdf0efb34
local               eb958485be4ae9c8a71a01a4f03c7cbf9f76c3a8fb2622ded58cf96542373b0d
local               efb5d345f272b32f409800e4804e22a93759c5668c8cb43e1887b5943ea217f9

如何使用它们将这些卷名称与容器相关联?

我试图了解卷的来源以及是否可以删除它们。

1 个答案:

答案 0 :(得分:4)

使用命名卷启动centos容器的简单示例

docker run --rm -dit -v my-vol:/my-vol centos

您可以使用--filter标志来查看 [1] 正在使用哪个容器:

docker ps -a --filter volume=my-vol

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
0f70a651c472        centos              "/bin/bash"         24 seconds ago      Up 23 seconds                           distracted_swirles

如果要删除任何容器未使用的卷,可以使用 docker volume prune

docker volume prune

WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N]

[1] https://docs.docker.com/engine/reference/commandline/ps/#filtering

[2] https://docs.docker.com/engine/reference/commandline/volume_prune/