如何批量删除特定的正在运行的Docker容器

问题描述 投票:0回答:1

我需要一次运行70个以上的Docker容器。稍后,这些容器需要停止。

目前,我可以使用shell命令docker stop来全部docker stop $(docker ps -f since=<last docker before>)。它可以正常工作,但是如果在我的矿井之后启动了任何容器,我会遇到问题,因为上述代码也会停止它们。

是否可以通过某种特定的搜索来关闭所有正在运行的容器?

我知道有一个docker ps -f label=<some label>,但我还没有弄清楚如何使用它。

docker dockerfile
1个回答
2
投票

如果您要同时启动多个容器,请使用以下命令全部启动它们

docker run --label=anyname other-docker-args-of-yours image:tag

并且当您要删除所有容器时,只需这样做

docker stop $(docker ps -f label=anyname | awk 'NR>1 {print$1}')

其中anyname是您在docker run命令期间提供的标签名称,awk 'NR>1 {print$1}'忽略列标题CONTAINER_ID,仅打印值。

© www.soinside.com 2019 - 2024. All rights reserved.