도커 푸시가 실패 할 때 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는 실패 할 때 세 번 반복되기를 원합니다 . 루프 카운터가 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.