该脚本的工作原理:
#!/bin/bash
for i in {1..10}
do echo “yes $i”
done
但是当尝试启动多个 Docker 容器时,它只会启动第一个容器并退出:
docker_run.sh
#!/bin/bash
for i in {1..10}
do exec docker run —name docker-nginx$i -P -d nginx
sleep 3
done
添加sleep 3
了 以给它时间。不确定这是否重要。当然,脚本必须有sudo
权限才能运行。
答案1
要运行许多 docker 机器,您的脚本应该如下所示:
#!/bin/bash
for i in {1..10}
do docker run —name docker-nginx$i -P -d nginx
sleep 3
done
exec
在这种情况下你不应该使用exec
取代当前进程(您的脚本)以及执行其参数 ( ) 所产生的进程docker ...
。这就是为什么你的脚本永远不会通过第一次迭代。