2016-10-11 5 views
0

を実行すると、私のクエリは、特定のコンテナが稼働して、ダウンロードされるまで、優雅に待つ方法ですジェンキンスシェルコマンド待ち、アップ、私はドッカーを使用してい

セレングリッドを起動するには、以下のように繰り返します。

docker run -ti -m 150M --memory-swap 300M --cpu-shares=104 -d -p 4444:4444 --name selenium-hub -e GRID_BROWSER_TIMEOUT=15000 selenium/hub 
sleep 10 

for i in {1..2} 
do 
    echo "Starting Node: $i" 
    docker run -ti -m 750M --memory-swap 900M --cpu-shares=460 -d --link selenium-hub:hub -v /dev/shm:/dev/shm selenium/node-chrome 
    sleep 5 
done 

コンテナのダウンロードに時間がかかることがあるため、睡眠を避けるより良い方法がありますか?

ジョブが完了した後、私は新しい仕事のための新しいスタートをするためにすべてのコンテナを停止して取り除きます。

おかげ&よろしく、 ビクラム

+0

2つの実行の間に '&&'をすべて1行で使用しますか? 'docker run ... && docker run ...' – Griffin

答えて

1

あなたはカールとセレンサービスを呼び出し、結果を確認することができます。

そして、COUNT値についてしばらくチェックして、それがゼロ

と異なる場合
COUNT=$(curl -q localhost:4444 | grep 403 | wc -l) 
while [ $COUNT -eq 0 ] 
do 
    sleep 1 
    COUNT=$(curl -q localhost:4444 | grep 403 | wc -l) 
done 

よろしく

+0

申し訳ありませんgrep 403を理解できませんでしたか?それぞれのノードコンテナには固有のポートがありますが、403はどのように関連していますか? – vikramvi

+0

selenium/standalone-firefoxのようなスタンドアロンのコンテナの場合、localhost:4444を介してグリッドを呼び出すと、「エラー403 Forbidden for Proxy」が返されます。また、http:// localhost:4444/grid/consoleを呼び出して、htmlをgrepでチェックインすると、登録されているノードの数 –

関連する問題