我使用 Docker 的 debian:latest 映像和 Debian Sid 的 Chromium/Firefox 软件包进行多阶段、多架构 Docker 构建过程。有时,在构建图像时,某些事情会失败并出现以下错误:
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
如果您确定该命令最终会成功,您可以使用 重试until
。在您的容器构建中:
until apt install package; do :; done
或者如果您想重新运行整个构建:
until docker build …; do :; done
然而,就您的情况而言,除非您确实需要system-config-printer
(这在容器映像中会令人惊讶),否则最好完全避免安装它 - 首先尝试apt install --no-install-recommends
.