本文转载自: https://blog.csdn.net/liminwang0311/article/details/105930205/

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

    方法一:

    1. 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的值

    方法二:

    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,然后停止这些容器