如果我有一个映像的ID,我怎么知道哪些容器正在使用这个映像?当删除一个仍然在使用的映像时,你会得到一个错误消息:
$ docker rmi 77b0318b76b3 Error response from daemon: Conflict, cannot delete 77b0318b76b3 because the container 21ee2cbc7cec is using it, use -f to force
但是,我如何能够以自动化的方式找到这个问题,而不试图删除它呢?
qlzsbp2j1#
你可以试试这个:
docker ps -a | grep `docker images | grep IMAGE_ID | awk '{print $1":"$2}'` | awk '{print $1}'
示例:
docker ps -a \ | grep `docker images | grep 3a041c1b0a05 | awk '{print $1":"$2}'` \ | awk '{print $1}'
输出:
4d6fb8a7149f 2baa726b1aa5
希望这个有用。
nfs0ujit2#
如果要列出活动容器docker inspect -f '{{ .Config.Image}}' $(docker ps -q)和所有容器docker inspect -f '{{ .Config.Image}}' $(docker ps -qa)的图像
docker inspect -f '{{ .Config.Image}}' $(docker ps -q)
docker inspect -f '{{ .Config.Image}}' $(docker ps -qa)
lh80um4z3#
这将列出使用您的$IMAGE_ID的所有容器。
$图像标识可以是77b0318b76b3或namespace/repo:tag。例如:$图像标识=“77 b 0318 b76 b3”
77b0318b76b3
namespace/repo:tag
docker container ls --all --filter=ancestor=$IMAGE_ID --format "{{.ID}}"
3条答案
按热度按时间qlzsbp2j1#
你可以试试这个:
示例:
输出:
希望这个有用。
nfs0ujit2#
如果要列出活动容器
docker inspect -f '{{ .Config.Image}}' $(docker ps -q)
和所有容器docker inspect -f '{{ .Config.Image}}' $(docker ps -qa)
的图像lh80um4z3#
这将列出使用您的$IMAGE_ID的所有容器。
$图像标识可以是
77b0318b76b3
或namespace/repo:tag
。例如:$图像标识=“77 b 0318 b76 b3”