社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
刚开始制作镜像(docker build)并启动容器(docker run)时,可能不会一次做好,为了防止占用空间,经常涉及到删除已制作的镜像(docker rmi)并重新build,但是此时镜像可能被某个已经Exited的容器加载,导致无法删除(需要先删除container,docker rm),如下所示:
即每次docker rmi之前都要docker ps –a(查看所有容器)、docker rm(删除已经exited的容器),太麻烦,因而就想着如何一步删除所有exited的容器。
#!/bin/ksh
#docker ps -a | sed '/^CONTAINER/d' | grep "Exited" | gawk '{print $1}'
docker ps -a | sed '/^CONTAINER/d' | grep "Exited" | gawk '{cmd="docker rm "$1; system(cmd)}'
如图所示,有三个Exited的容器,通过脚本一次性全部删除,后续就可以用docker rmi删除镜像了。
完。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!