我最近开始使用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 rmi $(docker images -a -q)
其中-a是all,-q是仅返回图像id
要删除未使用的图像和容器,请执行以下操作:
docker system prune
注意,如果您正在使用dockerswarm,并且您的本地机器正在加入远程swarm(作为管理员/工作人员),那么您的本地将是部署的repo。执行此操作从而移除部署的图像。
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图像rm-f$(docker图像ls-a-q)
删除所有停止的容器和所有未使用的图像。
docker系统prune-a
使用此选项可删除所有内容:
docker system prune -a --volumes
删除所有未使用的容器、卷、网络和映像
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all volumes not used by at least one container
- all images without at least one container associated to them
- all build cache
https://docs.docker.com/engine/reference/commandline/system_prune/#extended-说明