使用图像finddocker的容器?
如果我有一个图像的ID如何找出哪些容器正在使用这个图像? 删除仍然使用的图像时,您会收到错误消息:
$ docker rmi 77b0318b76b3 Error response from daemon: Conflict, cannot delete 77b0318b76b3 because the container 21ee2cbc7cec is using it, use -f to force
但是,我怎么能find这个自动化的方式,而不是试图删除它?
f要列出活动容器docker inspect -f '{{ .Config.Image}}' $(docker ps -q)
和所有容器的docker inspect -f '{{ .Config.Image}}' $(docker ps -qa)
你可以试试这个:
docker ps -a | grep `docker images | grep IMAGE_ID | awk '{print $1":"$2}'` | awk '{print $1}'
- 使用docker ps -a你可以得到所有容器的列表,包括你感兴趣的容器。
- 问题是你有IMAGE NAME,但是你需要IMAGE ID。
- 您可以使用泊坞窗图像来获取给定图像名称的图像ID,这就是你在你的grep中使用你的图像ID进行过滤。
- 最后你得到第一列只显示CONTAINER ID。
例:
docker ps -a \ | grep `docker images | grep 3a041c1b0a05 | awk '{print $1":"$2}'` \ | awk '{print $1}'
输出:
4d6fb8a7149f 2baa726b1aa5
希望这可以帮助。