docker的镜像和容器批量操作

avatar 2021年8月6日18:15:32 评论 917 次浏览

docker在使用的过程中,总是在镜像打包和启动中会出现镜像重叠,容器推出关闭等问题,重叠或者镜像没有完全打包的都会出现none,这些惊喜是无法直接使用的,为了减少空间的使用率所以会定时把这些做删除操作,特别在打两个FROM的时候最容易出现。这里主要记录一下docker的批量操作方法。

方法一:

#显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,
[wolf@wulaoer.org 🔥🔥🔥🔥 ]$ sudo docker ps -a|grep Exited|awk '{print $1}'
#查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
[wolf@wulaoer.org 🔥🔥🔥🔥 ]$ sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`

方法二: 

#删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
[wolf@wulaoer.org 🔥🔥🔥🔥 ]$ sudo docker rm $(sudo docker ps -a -q)

方法三:

#根据容器的状态,删除Exited状态的容器
[wolf@wulaoer.org 🔥🔥🔥🔥 ]$ sudo docker rm $(sudo docker ps -qf status=exited)

方法四:

#Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器。
[wolf@wulaoer.org 🔥🔥🔥🔥 ]$ sudo docker container prune


#删除所有镜像

[wolf@wulaoer.org 🔥🔥🔥🔥 ]$ sudo docker rmi $(docker images -q)
#删除none的镜像
[wolf@wulaoer.org 🔥🔥🔥🔥 ]$ docker rmi -f $(docker images -f dangling=true -q)

这里主要是根据容器的状态进行筛选,镜像就是根据tag,两者在使用的时候有些区别,但是区别不是很大,在使用的时候根据自己的情况需要酌情处理。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: