我最近开始使用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 rmi $(docker images -q) --force
其他回答
这是我使用的简短快速的解决方案
Docker提供了一个单独的命令,它将清理所有悬空(与容器无关)的资源(图像、容器、卷和网络):
docker system prune
要另外删除任何停止的容器和所有未使用的图像(而不仅仅是悬挂的图像),请在命令中添加-a标志:
docker system prune -a
有关详细信息,请访问链接
docker images -f dangling=true
docker image prune
Unix
为了删除包括其卷使用在内的所有容器,
docker rm -vf $(docker ps -aq)
为了删除所有图像,
docker rmi -f $(docker images -aq)
请记住,在删除创建这些容器的所有图像之前,应先删除所有容器。
Windows-Powershell
docker images -a -q | % { docker image rm $_ -f }
Windows-命令行
for /F %i in ('docker images -a -q') do docker rmi -f %i
要删除所有图像,请执行以下操作:
docker rmi -f $(docker images -a | awk {'print $3'})
说明:
docker图像-a|awk{'打印$3'}
此命令将返回所有图像id,然后使用其id删除图像。
docker rmi $(docker images -q) --force