Linux

用於啟動 Docker 容器的 Bash 腳本

  • February 14, 2019

該腳本有效:

#!/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權限執行。

要執行許多 docker 機器,您的腳本應該是這樣的:

#!/bin/bash

for i in {1..10}
   do docker run —name docker-nginx$i -P -d nginx
   sleep 3
done

exec在這種情況下,您不應將目前程序(您的腳本)exec 替換為執行其參數 ( docker ...) 所產生的程序。這就是為什麼您的腳本永遠不會超過第一次迭代的原因。

引用自:https://unix.stackexchange.com/questions/500695