批量停止某些容器

docker stop $(docker ps --format "{{.Names}}" | grep XXX)

批量启动上次异常停止的容器

docker ps -a --filter "status=exited" | awk 'NR>1 {print $1}' | xargs -r docker start

命令说明
docker ps -a --filter “status=exited”:列出所有容器,并使用过滤器只显示状态为 exited 的容器(即异常停止的容器)。
awk ‘NR>1 {print $1}’:跳过表头行(NR>1),并提取第一列,即容器的 ID。
xargs -r docker start:将提取到的容器 ID 作为参数,逐个传递给 docker start 命令进行启动。-r 参数确保当没有输入时,xargs 不会执行命令,避免错误。

docker start $(docker ps -aq --filter "status=exited")

docker ps -aq:-a 列出所有容器,-q 只输出容器 ID。
–filter “status=exited”:同样只筛选出异常停止的容器。

更多推荐