
dockerがイメージをプッシュするbashスクリプトがあります。
docker push $CONTAINER_IMAGE:latest
失敗したら3回繰り返したいです。この目標をどのように達成する必要がありますか?
答え1
使用for-loop
と&& break
:
for n in {1..3}; do
docker push $CONTAINER_IMAGE:latest && break;
done
break
ループを終了してもdocker push
成功した場合にのみ実行します。失敗すると、docker push
エラーで終了し、ループが続行されます。
答え2
以下も使用できます。
for n in {1..4}; do
if docker push $CONTAINER_IMAGE:latest
then
break;
fi
done
then
このステートメントは、docker コマンドが成功した場合にのみ入力されます。