如何修复 docker build 中的 apt-get install --fix-missing?

如何修复 docker build 中的 apt-get install --fix-missing?

我在尝试运行 docker build 时遇到问题。这是我运行的命令:

docker build -t <name> .

Dockerfile 包含以下第一行:

FROM ubuntu:xenial
RUN apt-get -y update
RUN apt-get -y install --fix-missing \
    sudo \
    git 

但是,在构建它时,我收到以下错误消息:

Unable to correct missing packages.
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/p/perl/perl-modules-5.22_5.22.1-9ubuntu0.2_all.deb  404  Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/p/perl/libperl5.22_5.22.1-9ubuntu0.2_amd64.deb  404  Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/p/perl/perl_5.22.1-9ubuntu0.2_amd64.deb  404  Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/i/ifupdown/ifupdown_0.8.10ubuntu1.2_amd64.deb  404  Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.0.0_1.0.2g-1ubuntu4.11_amd64.deb  404  Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.2g-1ubuntu4.11_amd64.deb  404  Not Found [IP: 91.189.88.152 80]
E: Aborting install.
The command '/bin/sh -c apt-get -y install --fix-missing     sudo     git' returned a non-zero code: 100

它在我朋友的电脑上运行良好,但每次我重试时它都会在我的电脑上崩溃。我使用的是 docker 版本 18.03.1-ce 和 Ubuntu 16.04.4,一切都是最新的,老实说,我根本不知道出了什么问题……

答案1

我看到了此错误,我通过提供 docker build parm 解决了该错误,--no-cache如下所示

docker build -t <name> --no-cache  .

然后在此构建正确之后,您可以自由地删除--no-cache后续构建的 parm 以加快构建速度

答案2

Docker 的说明书上说将更新和安装放在同一行。

我还发现我只能使用普通的“RUN”命令,而“ONBUILD”会导致问题。

相关内容