我将puckel/docker-airflow与CeleryExecutor结合使用。它总共发布了5个容器,名称如下
docker-airflow_flower_1_de2035f778e6
docker-airflow_redis_1_49d2e710e82b
..在开发过程中,我经常不得不停止以上所有的容器。但是,我不能执行docker stop $(docker ps -aq),因为我的机器上也有其他容器在运行。
是否有一种方法可以阻止所有名称与给定模式匹配的容器(例如,上面以docker-airflow开头的所有容器)?
发布于 2021-02-09 19:56:03
迟到总比没有好;)来自这的文章。以下几点对我来说是可行的:
具有与给定模式匹配的名称的停止容器:
$ docker container stop $(docker container ls -q --filter name=<pattern>)另一方面,如果我们想使用与给定模式匹配的名称启动容器:
$ docker container start $(docker container ls --all -q --filter name=<pattern>)注意:对于不同环境相关的提示,@Y2K-Shubham的更新是一个很好的起点。
发布于 2022-01-28 17:01:37
使用grep和docker ps的另一种方法
若要阻止与给定模式/模式列表匹配的停靠容器“:
docker ps | grep -E "name_1|name_2|name_3" | awk '{print $1}' | xargs docker stop若要停止停靠容器(不包括给定模式/模式列表),请执行以下操作:
docker ps | grep -Ev "name_1|name_2|name_3" | awk '{print $1}' | xargs docker stop参考资料:Grep
https://stackoverflow.com/questions/56998486
复制相似问题