[Docker] - Docker 批量删除容器

所有容器

Docker 使用 run 命令后就会生成一个容器,因此会产生许多容器,如果容器的数量不多,可以逐个 docker rm 容器ID 的方式来进行删除,但是当容器很多的时候,这样做的效率就太低了。

docker ps 命令可以查看所有 正在运行 的容器,docker ps -a 参数可以查看 所有容器,包括没有运行的容器。

批量删除容器

批量删除命令可以删除未运行状态的容器。

方法一

获取所有的容器,使用 grep 过滤出所有 Exited 状态的容器,取出这些容器的ID:

docker ps -a|grep Exited|awk '{print $1}'

然后使用 docker rm 命令进行删除,完整命令如下:

sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`

方法二

删除所有未运行的容器,其原理是 Docker 无法删除正在运行状态的容器,因此未运行的就被删除了,命令如下:

docker rm $(sudo docker ps -a -q)

方法三

根据容器的状态,删除 Exited 状态的容器,原理与方法一相同:

docker rm $(sudo docker ps -qf status=exited)

方法四

Docker 1.13 版本以后,可以使用 docker containers prune 命令删除孤立的容器。

讨论

还没有人评论~