docker pushが失敗したときにbashスクリプトで3回ループする方法は?


9

私は単純にドッカーが画像をプッシュするbashスクリプトを持っています:

docker push $CONTAINER_IMAGE:latest

これが失敗した場合、3回ループしたいと思います。どうすればこれを達成できますか?

回答:


22

使用for-loopして&& break

for n in {1..3}; do
    docker push $CONTAINER_IMAGE:latest && break;
done

breakループを終了しますが、docker push成功した場合にのみ実行されます。場合はdocker push失敗し、それはエラーで終了しますと、ループが継続されます。


4
技術的には、OPは、失敗しときに 3回ループすることを望んでいます。では、ループカウンターは4にすべきではありませんか?
RonJohn

5

あなたも使うことができます:

for n in {1..3}; do
     if docker push $CONTAINER_IMAGE:latest  
     then 
          break;
     fi
done

このthenステートメントは、dockerコマンドが成功した場合にのみ入力されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.