用于启动 Docker 容器的 Bash 脚本

用于启动 Docker 容器的 Bash 脚本

该脚本的工作原理:

#!/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 ...。这就是为什么你的脚本永远不会通过第一次迭代。

相关内容