如何物理删除未标记的 docker 图像
how to physically remove untagged docker images
当我 运行 命令如 sudo docker rmi me/myimage 我得到响应 ...图像未标记,但是,当我重新 运行 sudo docker 图像我可以看到这个 "untagged" 图像仍然存在,并且,如果我 运行 df -h 我可以看到实际文件仍然存在并占用文件系统 space.
我可以使用什么命令或过程来物理删除不需要的图像?
您应该能够使用 "dangling=true"
标志删除未标记的 Docker 图像:
sudo docker rmi $(sudo docker images -f "dangling=true" -q)
来源:
https://docs.docker.com/engine/reference/commandline/images/
如果 John Petrone 解决方案不起作用,请尝试删除那些明确引用您在 运行 docker images
时看到的 IMAGE ID
的图像。您可以使用一个命令将它们全部删除
for i in
sudo docker 图片 | grep \ | awk '{print $3}'; do sudo docker rmi $i; done
PD:我不知道 John Petrone 的答案。它与 Docker 1.4.1
配合得很好
首先您需要删除退出的容器,然后删除悬空图像。
docker rm $(docker ps -q -f status=exited)
docker rmi $(docker images -q -f dangling=true)
毕竟,我将下面的脚本创建为 ~/bin/dclean 并一直在使用它。
#!/bin/sh
processes=$(docker ps -q -f status=exited)
if [ -n "$processes" ]; then
docker rm $processes
fi
images=$(docker images -q -f dangling=true)
if [ -n "$images" ]; then
docker rmi $images
fi
您可以通过图像 ID 删除单个图像...
docker images
docker rmi <image-id>
这个命令也有效
docker rmi $(docker images | grep "^<none>" | awk '{print }')
强制删除图像以放弃可能正在使用图像的已停止容器
docker rmi -f $(docker images | grep "^<none>" | awk '{print }')
此命令将从 docker 中删除所有悬空图像和容器。
docker system prune -f
当我 运行 命令如 sudo docker rmi me/myimage 我得到响应 ...图像未标记,但是,当我重新 运行 sudo docker 图像我可以看到这个 "untagged" 图像仍然存在,并且,如果我 运行 df -h 我可以看到实际文件仍然存在并占用文件系统 space. 我可以使用什么命令或过程来物理删除不需要的图像?
您应该能够使用 "dangling=true"
标志删除未标记的 Docker 图像:
sudo docker rmi $(sudo docker images -f "dangling=true" -q)
来源:
https://docs.docker.com/engine/reference/commandline/images/
如果 John Petrone 解决方案不起作用,请尝试删除那些明确引用您在 运行 docker images
时看到的 IMAGE ID
的图像。您可以使用一个命令将它们全部删除
for i in
sudo docker 图片 | grep \ | awk '{print $3}'; do sudo docker rmi $i; done
PD:我不知道 John Petrone 的答案。它与 Docker 1.4.1
配合得很好首先您需要删除退出的容器,然后删除悬空图像。
docker rm $(docker ps -q -f status=exited)
docker rmi $(docker images -q -f dangling=true)
毕竟,我将下面的脚本创建为 ~/bin/dclean 并一直在使用它。
#!/bin/sh
processes=$(docker ps -q -f status=exited)
if [ -n "$processes" ]; then
docker rm $processes
fi
images=$(docker images -q -f dangling=true)
if [ -n "$images" ]; then
docker rmi $images
fi
您可以通过图像 ID 删除单个图像...
docker images
docker rmi <image-id>
这个命令也有效
docker rmi $(docker images | grep "^<none>" | awk '{print }')
强制删除图像以放弃可能正在使用图像的已停止容器
docker rmi -f $(docker images | grep "^<none>" | awk '{print }')
此命令将从 docker 中删除所有悬空图像和容器。
docker system prune -f