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

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

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

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 命令成功时才会输入该语句。

相关内容