web-dev-qa-db-ja.com

Dockerビルドで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を使用していますが、すべてが最新のものであり、何が間違っているのか全く分かりません...

3
Kara

Docker build parm --no-cacheを与えることで解決したこのエラーを見ました。

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

その後、このビルドが正しく行われた後、ビルドを高速化するために後続のビルドのためにparm --no-cacheを自由に削除できます

1
Scott Stensland

Dockerの instructions say は、更新をインストールして同じ行にインストールします。

また、単純な古い「RUN」コマンドしか使用できず、「ONBUILD」が問題を引き起こすこともわかりました。

0
Tony Mayse