docker之删除不包含运行的已停止的容器shell

有一天我发现之前随便开了很多容器,停止之后没有删除,用docker ps -a查看,但是我又不想手动一个一个去删除,不能把在运行的容器删除,所以随便写了一个shell,做一下笔记:

#!/bin/bash
   docker ps -a|awk '{print $1}'|grep -v CONTAINER > /tmp/ps_a.txt
   docker ps|awk '{print $1}'|grep -v CONTAINER > /tmp/ps.txt
   ps_a_ps=`grep -F -v -f /tmp/ps.txt /tmp/ps_a.txt |sort| uniq`
   for f in $ps_a_ps
   do
       docker rm -f $f
   done

这里要用到差集的思想,除了在运行的容器,都删除。docker ps -a包含在运行。
-f :比较文件,后面一个是范文参考,但这个是交集
-v是反选。这两个参数结合起来就是差集。

发布了108 篇原创文章 · 获赞 26 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37369726/article/details/103026326