批量停止,批量删除docker容器

批量停止,批量删除docker容器

一:第一种
假设要批量停止的docker名字前缀为xxx,则可以执行下面两条命令来停止。

## xxx替换成你自己的容器名称前缀,如apisix或者mysql或redis
docker stop $(docker ps -a | grep "xxx" | awk '{print $1}')

上述命令行解释

docker stop 停止容器
$() 返回在括号内运行脚本的结果
docker ps -a 列出所有容器的docker
| grep “xxx” 管道上一个命令的结果,grep以搜索包含字符串xxx的行
| awk '{print $1}' 管道的结果grep搜索到的awk命令,
该命令被告知仅打印在第1列,其是容器的ID的值

之后批量删除docker容器

## xxx替换成你自己的容器名称前缀,如apisix或者mysql或redis
docker rm $(docker ps -a | grep "xxx" | awk '{print $1}')

二:第二种

docker ps | grep "xxx"  | awk '{print $1}' | xargs docker stop

上述命令行解释

 docker ps 用于列出所有正常运行的容器
 
| grep filter 将上一命令的结果通过管道传给过滤器,
过滤条件为包含xxx关键字

| awk '{print $1}' 将上一命令的结果
通过管道传给awk,  awk '{print $1}' 打印第一列的数据,
也就是容器ID

| xargs docker stop 将上一命令的结果
通过管道传给xargs, 
xargs 将参数传给docker stop,
然后停止这些容器

你可能感兴趣的:(docker,Linux部署,docker,容器,运维)