docker 一键删除所有退出的 container remove exited container

petermac: peter $ docker container ps -a
CONTAINER ID        IMAGE                COMMAND             CREATED              STATUS                          PORTS               NAMES
b4a32f863de5        32bit/ubuntu:16.04   "bash"              44 seconds ago       Exited (127) 18 seconds ago                         hungry_golick
07b4c6f89903        32bit/ubuntu:16.04   "bash"              52 seconds ago       Exited (0) 48 seconds ago                           recursing_noyce
c64a19d2817e        ubuntu               "bash"              About a minute ago   Exited (0) About a minute ago                       sharp_pasteur
7484b7ee0963        centos:7             "/bin/bash"         About a minute ago   Exited (0) About a minute ago                       wizardly_payne
d403bd192646        centos:7             "bash"              42 minutes ago       Exited (0) 42 minutes ago                           hadoop11
826135304c7c        centos:7             "bash"              42 minutes ago       Exited (0) 42 minutes ago                           hadoop10

  经常用docker做开发的, 可能会像上面一样, 或者有几百条挂掉的container.

当然, 你可以用统计一下自己有多少个挂掉的container : 

petermac: peter $ docker container ps -f status=exited | wc -l 
       7

 

 我算是有洁癖, 所以上面7个都是刚刚做出了的, 为了演示, 如果你超过100, 恭喜你, 你是一个有丰富经验的docker人才.

 

好了废话不说, 这是正题:  如何一键删除所有退出的container?

 

petermac: peter $ docker container ps -f status=exited | cut -f 1 -d " " | tail -n +2 | xargs docker container rm
b4a32f863de5
07b4c6f89903
c64a19d2817e
7484b7ee0963
d403bd192646
826135304c7c
petermac: peter $ docker container ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

 

简单分析一下句子:

> cut -f 1 -d " " : 取得第一个字段(就是container ID), -d " " 代表分隔符号为空白

> tail -n +2 : 跳过第一行(2-1), 从第2行开始(+2 注意别忘记+), 第一行是说明字段的头文件

CONTAINER ID        IMAGE  ... 等等

> xargs : 从stdin取得字符串(通过pipe |  每行取一次), 执行后面的语法, 把字符串贴在后面执行.

例如:    

echo ls | xargs docker image
等于
docker image ls

 
posted @ 2021-05-07 11:06  wapeter  阅读(398)  评论(0)    收藏  举报