저는 다단계, 다중 아키텍처 Docker 빌드 프로세스를 위해 Docker의 debian:latest 이미지와 Debian Sid의 Chromium/Firefox 패키지를 사용했습니다. 가끔 이미지를 빌드할 때 다음 오류로 인해 문제가 발생하는 경우가 있습니다.
Errors were encountered while processing:
#0 221.2 system-config-printer-common
#0 221.2 system-config-printer
#0 221.3 E: Sub-process /usr/bin/dpkg returned an error code (1)
빌드를 다시 실행하면 작동합니다. 이는 반드시 손상된 패키지가 아니라는 것을 나타냅니다. 이것은 자동화된 빌드이기 때문에 이러한 오류를 "잡아" 자동으로 실패하는 단계를 다시 시도할 수 있는 방법이 있는지 궁금합니다.
답변1
명령이 결국 성공할 것이라고 확신하는 경우 retry 를 사용할 수 있습니다 until
. 컨테이너 빌드에서:
until apt install package; do :; done
또는 전체 빌드를 다시 실행하려는 경우:
until docker build …; do :; done
이 명령은 미리 결정된 횟수까지 재시도하도록 조정할 수 있습니다..
그러나 귀하의 경우 실제로 필요한 경우가 아니면 system-config-printer
(컨테이너 이미지에서는 놀랄 수 있음) 완전히 설치하지 않는 것이 가장 좋습니다. 먼저 시도해 보세요 apt install --no-install-recommends
.