当docker push失败时,如何在bash脚本中循环3次?


9

我有一个bash脚本,它只是docker推送图像:

docker push $CONTAINER_IMAGE:latest

如果失败,我想循环3次。我应该如何实现呢?

Answers:


22

使用for-loop&& break

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

break退出循环,但仅在docker push成功时运行。如果docker push失败,它将以错误退出并继续循环。


4
从技术上讲,OP希望它在失败时循环三次。所以,循环计数器不应该是4吗?
罗恩·约翰(RonJohn)

5

您也可以使用:

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

then仅当docker命令成功时才输入该语句。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.