我最近开始使用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的东西不存在,但我正在寻找具有类似想法的东西。
当前回答
检查码头集装箱体积
码头系统df
修剪所有图像和卷
docker prune--全部
其他回答
以下是我使用的命令,并将其放在批处理文件中以删除所有内容:
echo“正在删除容器:”&&if[-n“$(docker container ls-aq)”]; 然后docker容器stop$(docker容器ls-aq);码头装卸工集装箱rm$(码头集装箱ls-aq);fi;echo“正在删除图像:”&&如果[-n“$(docker images-aq)”];然后docker rmi-f$(docker图像-aq);fi;echo“正在删除卷:”&&if[-n“$(docker volumels-q)“];然后docker volume rm$(docker volume ls-q;fi;echo“正在删除网络:”&&if[-n“$(docker network ls|awk”{print$1“”$2}‘|grep-v‘ID|bridge|host|none‘|awk‘{print$1}’)“];然后docker网络rm$(docker网络ls | awk“{print$1”“$2}”|grep-v“ID|bridge|host|none”|awk“{print$1}”);fi;
要删除所有图像,请执行以下操作:
docker rmi $(docker images -a -q)
其中-a是all,-q是仅返回图像id
要删除未使用的图像和容器,请执行以下操作:
docker system prune
注意,如果您正在使用dockerswarm,并且您的本地机器正在加入远程swarm(作为管理员/工作人员),那么您的本地将是部署的repo。执行此操作从而移除部署的图像。
删除所有图像,但至少有一个容器与其关联
$ 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}}'
检查码头集装箱体积
码头系统df
修剪所有图像和卷
docker prune--全部
删除所有停止的容器和所有未使用的图像。
docker系统prune-a