我最近开始使用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的东西不存在,但我正在寻找具有类似想法的东西。
当前回答
添加到techtabu接受的答案中,如果您在windows上使用docker,可以使用以下命令
for/F“delims=”('docker ps-A-q')中的%A做docker rm%A
这里,docker ps-a-q命令列出了所有图像,并将此列表逐一传递给docker rm
有关此类命令格式如何在windowscmd中工作的更多详细信息,请参阅本文。
其他回答
简单方便的命令
删除所有图像
docker rmi $(docker images -a)
删除处于退出状态的容器
docker rm $(docker ps -a -f status=exited -q)
删除处于已创建状态的容器
docker rm $(docker ps -a -f status=created -q)
注意:移除所有容器,然后移除图像
sudo docker images/docker images//带id的图像列表sudo docker rm image<image_id>/docker rm image<image_id>
删除所有停止的容器和所有未使用的图像。
docker系统prune-a
docker rmi -f $(docker images -q)
删除所有图像,但至少有一个容器与其关联
$ docker images prune -a
要获取图像的所有名称:docker-images-a-q,并在同一行中使用此命令删除所有图像。
docker image rmi $(docker images -a -q)
如果您将图像附加到至少一个正在运行的容器,最好先停止它们。
要删除10天前(240小时)创建的图像,请执行以下操作:
$ docker images prune -a --force --filter "until=240h"
可以使用以下命令进行验证:
$ docker images --format 'table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.CreatedAt}}\t{{.Size}}'