shell中不使用等待怎么判断docker容器一个一个的启动
时间: 2024-05-09 13:21:13 浏览: 168
Docker如何进入启动容器
可以通过docker命令查看容器的状态来判断容器是否已经启动,可以使用以下命令:
```
docker ps -a --filter status=running --format "{{.Names}}"
```
该命令会列出所有状态为running的容器的名称,当所有容器的名称都出现在列表中时,则表示所有容器都已经启动。可以将该命令放到一个循环中,不断检查容器状态,直到所有容器都启动完成为止。例如:
```
#!/bin/bash
# 容器名称列表
CONTAINER_NAMES=(container1 container2 container3)
echo "Starting containers..."
for container_name in "${CONTAINER_NAMES[@]}"; do
docker start "$container_name"
done
echo "Waiting for containers to start..."
while true; do
running_containers=$(docker ps -a --filter status=running --format "{{.Names}}")
if [[ "$running_containers" == *"${CONTAINER_NAMES[*]}"* ]]; then
echo "All containers started."
break
fi
sleep 1
done
```
该脚本会先启动所有容器,然后不断检查容器状态,直到所有容器都启动完成为止。
阅读全文