当我运行sudo docker rmi me / myimage这样的命令时,我得到了响应...图像没有标记,但是,当我重新运行sudo docker图像时,我可以看到这个“未标记”的图像仍然存在,并且,如果我运行df -h我可以看到实际文件仍然存在并占用文件系统空间。我可以使用什么命令或程序来物理删除不需要的图像?
您应该能够使用"dangling=true"
标记删除未标记的Docker镜像:
sudo docker rmi $(sudo docker images -f "dangling=true" -q)
资源:
https://docs.docker.com/engine/reference/commandline/images/
首先,您需要删除已退出的容器,然后删除悬空图像。
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
如果John Petrone解决方案不起作用,请尝试删除那些明确指出运行IMAGE ID
时看到的docker images
的图像。您可以使用一个命令删除所有这些
for i in
sudo码头图片| grep \ | awk'{print $ 3}'; do sudo docker rmi $i; done
PD:我不知道John Petrone的回答。它与Docker 1.4.1很好地配合使用
您可以按图片ID删除单张图片...
docker images
docker rmi <image-id>
这个命令也有效
docker rmi $(docker images | grep "^<none>" | awk '{print $3}')
强制删除图像以放弃可能正在使用图像的已停止的容器
docker rmi -f $(docker images | grep "^<none>" | awk '{print $3}')
此命令将从docker中删除所有悬空图像和容器。
docker system prune -f