我需要一次运行70个以上的Docker容器。稍后,这些容器需要停止。
目前,我可以使用shell命令docker stop
来全部docker stop $(docker ps -f since=<last docker before>)
。它可以正常工作,但是如果在我的矿井之后启动了任何容器,我会遇到问题,因为上述代码也会停止它们。
是否可以通过某种特定的搜索来关闭所有正在运行的容器?
我知道有一个docker ps -f label=<some label>
,但我还没有弄清楚如何使用它。
如果您要同时启动多个容器,请使用以下命令全部启动它们
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
,仅打印值。