批量停止某些容器
bash
docker stop $(docker ps --format "{{.Names}}" | grep XXX)
批量启动上次异常停止的容器
bash
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 不会执行命令,避免错误。
bash
docker start $(docker ps -aq --filter "status=exited")
docker ps -aq:-a 列出所有容器,-q 只输出容器 ID。
--filter "status=exited":同样只筛选出异常停止的容器。