您的位置:

Docker批量删除容器详解

一、前言

Docker是一个开源的应用容器引擎,提供了一种轻量级容器化技术,方便快捷的进行应用打包、发布、运行。作为广泛应用的技术之一,Docker是开发、测试、运维的得力助手。但是,伴随着容器的使用,往往会有数量众多的容器存在,此时需要对容器进行管理,其中一项必不可少的管理操作就是容器的删除。

二、批量删除单个容器

删除单个容器的方法很简单,使用docker rm命令即可。如果需要删除多个容器,可以使用通配符*来批量操作。


// 删除单个容器
docker rm [容器ID/容器名称]

// 批量删除容器
docker rm `docker ps -a -q` 
// 反单引号 为ESC键下面那个键,引用所有容器并删除

三、批量删除满足特定条件的容器

有时候可能需要删除某些特定条件下的容器,比如删除状态为Exited的容器,此时可以利用docker ps命令的--filter参数来查找目标容器,并进行批量删除操作


docker ps -a --filter "status=Exited" -q | xargs docker rm 
// 通过 --filter 过滤不需要删除的容器,-q,只输出容器ID,xargs 接收输出并批量删除

四、批量删除含有某个关键字的容器

有时候容器名称过于复杂,无法用通配符或者正则表达式进行准确匹配,这时可以用grep来匹配容器名称或者其他关键字。


docker ps -a | grep "要删除的容器名称中的关键字" | awk '{print $1}' | xargs docker rm
// 通过grep 过滤要删除的容器,awk 输出第一列(即容器ID),xargs 接收输出并批量删除

五、结论

上述几个方法都能帮助我们批量删除容器,每种方法针对的场景不同。删除容器一定要注意,一旦删除后数据不可恢复,如果需要删除的容器已经包含重要数据,一定要先备份。