我最近开始使用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提供了一个单独的命令,它将清理所有悬空(与容器无关)的资源(图像、容器、卷和网络):
docker system prune
要另外删除任何停止的容器和所有未使用的图像(而不仅仅是悬挂的图像),请在命令中添加-a标志:
docker system prune -a
有关详细信息,请访问链接
其他回答
xargs的另一种方式(仅限Unix)
docker image ls -q | xargs -I {} docker image rm -f {}
仅删除所有图像,然后运行以下命令
docker rmi -f $(docker images -aq)
删除未使用的容器、映像和卷,然后运行以下命令
docker system prune -a -f
Windows中存在一个错误,即删除映像后无法回收磁盘空间。重新启动Docker/Windows不起作用。
如果您使用的是Docker Desktop,以下方法对我有效。请转到疑难解答->清理/清除数据。这可以为您节省大量磁盘空间,可能比您想要的更多。
请注意:这会删除所有内容,因此在执行此操作之前请三思!
您可以这样尝试:
docker system prune
要删除所有Docker本地Docker镜像,请执行以下两个步骤:
步骤1:docker图像(列出所有具有id的docker图像)
example :
REPOSITORY TAG IMAGE ID CREATED SIZE
pradip564/my latest 31e522c6cfe4 3 months ago 915MB
步骤2:docker image rm 31e522c6cfe4(图像ID)
OUTPUT : image deleted