假设要批量停止的docker名字前缀为xxx,则可以执行下面两条命令来停止。
方法一:
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 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,然后停止这些容器