ger*_*ome 27 docker docker-volume docker-container
假设我有一个卷,我知道它的名字或ID.
我想确定使用该卷的容器列表(它们的名称或ID).
我可以使用哪些命令来检索此信息?
我认为它可以存储在docker volume inspect <id>命令的输出中,但除了mountpoint("/var/lib/docker/volumes/<id>")之外它没有任何帮助
jwo*_*der 57
docker ps 可以按卷过滤以显示装载给定卷的所有容器:
docker ps -a --filter volume=VOLUME_NAME_OR_MOUNT_POINT
Run Code Online (Sandbox Code Playgroud)
参考:https://docs.docker.com/engine/reference/commandline/ps/#filtering
Ter*_*ist 10
下面的脚本将显示每个卷以及使用它的容器:
#!/bin/sh
volumes=$(docker volume ls --format '{{.Name}}')
for volume in $volumes
do
echo $volume
docker ps -a --filter volume="$volume" --format '{{.Names}}' | sed 's/^/ /'
done
Run Code Online (Sandbox Code Playgroud)
按容器列出卷有点棘手,因此这对读者来说是一个练习,但除非您有很多容器/卷,否则上述内容应该足够了。
小智 5
对于每个卷,此脚本输出使用该卷的容器列表,请记住一个卷可能被多个容器使用。
for v in $(docker volume ls --format "{{.Name}}")
do
containers="$(docker ps -a --filter volume=$v --format '{{.Names}}' | tr '\n' ',')"
echo "volume $v is used by $containers"
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6581 次 |
| 最近记录: |