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 ...。これがスクリプトが最初の反復を通過できない理由です。

関連情報