我最近开始使用Docker,从未意识到我应该使用Docker compose down而不是ctrl-c或Docker composestop来摆脱我的实验。我现在在本地有大量不需要的docker图像。
我是否可以运行一个标志来删除所有本地docker图像和容器?
类似docker rmi-all-force-all-flag的东西不存在,但我正在寻找具有类似想法的东西。
我最近开始使用Docker,从未意识到我应该使用Docker compose down而不是ctrl-c或Docker composestop来摆脱我的实验。我现在在本地有大量不需要的docker图像。
我是否可以运行一个标志来删除所有本地docker图像和容器?
类似docker rmi-all-force-all-flag的东西不存在,但我正在寻找具有类似想法的东西。
当前回答
docker图像rm-f$(docker图像ls-a-q)
其他回答
docker images -f dangling=true
docker image prune
docker rmi $(docker images -q) --force
要删除所有图像,请执行以下操作:
docker rmi $(docker images -a -q)
其中-a是all,-q是仅返回图像id
要删除未使用的图像和容器,请执行以下操作:
docker system prune
注意,如果您正在使用dockerswarm,并且您的本地机器正在加入远程swarm(作为管理员/工作人员),那么您的本地将是部署的repo。执行此操作从而移除部署的图像。
这是我使用的简短快速的解决方案
Docker提供了一个单独的命令,它将清理所有悬空(与容器无关)的资源(图像、容器、卷和网络):
docker system prune
要另外删除任何停止的容器和所有未使用的图像(而不仅仅是悬挂的图像),请在命令中添加-a标志:
docker system prune -a
有关详细信息,请访问链接
简单方便的命令
删除所有图像
docker rmi $(docker images -a)
删除处于退出状态的容器
docker rm $(docker ps -a -f status=exited -q)
删除处于已创建状态的容器
docker rm $(docker ps -a -f status=created -q)
注意:移除所有容器,然后移除图像