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を使用していますが、すべてが最新のものであり、何が間違っているのか全く分かりません...
Docker build parm --no-cache
を与えることで解決したこのエラーを見ました。
docker build -t <name> --no-cache .
その後、このビルドが正しく行われた後、ビルドを高速化するために後続のビルドのためにparm --no-cache
を自由に削除できます
Dockerの instructions say は、更新をインストールして同じ行にインストールします。
また、単純な古い「RUN」コマンドしか使用できず、「ONBUILD」が問題を引き起こすこともわかりました。