docker runのタイミングでdockerfileのコマンドがエラーになってしまうことで処理が止まる問題を一時的に回避する

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
docker runのタイミングでDockerfileのコマンドがエラーになってしまうことで処理が止まる問題を一時的に回避するための対応をメモしました。
エラーが発生した経緯
apt-get
でmysql-clinet
をインストールしたかったのだが
その場合apt-get update
を実施する必要があり
一部のパッケージのリクエスト先が404となってエラーになってしまうため
このエラーを回避したかったことがきっかけになります。
Dockerfile
DockerfileFROM java:8-jre
RUN apt-get update -y;
RUN apt-get install mysql-client -y
発生したエラー
docker build
実行時にエラーになります。
実行ログ
docker build
コマンドを実行したログになります。
bash$ docker build -t hoge .
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM java:8-jre
---> e44d62cf8862
Step 2/3 : RUN apt-get update -y;
---> Running in 23a23621a47c
Get:1 http://security.debian.org jessie/updates InRelease [44.9 kB]
Ign http://deb.debian.org jessie InRelease
Get:2 http://deb.debian.org jessie-updates InRelease [16.3 kB]
Ign http://deb.debian.org jessie-backports InRelease
Get:3 http://deb.debian.org jessie Release.gpg [1652 B]
Ign http://deb.debian.org jessie-backports Release.gpg
Get:4 http://deb.debian.org jessie Release [77.3 kB]
Ign http://deb.debian.org jessie-backports Release
Err http://deb.debian.org jessie-backports/main amd64 Packages
Get:5 http://security.debian.org jessie/updates/main amd64 Packages [992 kB]
Get:6 http://deb.debian.org jessie-updates/main amd64 Packages [20 B]
Get:7 http://deb.debian.org jessie/main amd64 Packages [9098 kB]
Err http://deb.debian.org jessie-backports/main amd64 Packages
Err http://deb.debian.org jessie-backports/main amd64 Packages
404 Not Found
Fetched 10.2 MB in 8s (1213 kB/s)
W: There is no public key available for the following key IDs:
AA8E81B4331F7F50
W: Failed to fetch http://deb.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
エラーについて
jessie-backports/main amd64 Packages
を取得しに行った際に
deb.debian.org
が404となっているためステータスコードがエラーになり
処理が停止しています。
解決手順
暫定ですが一時的にステータスコード 0を返して処理の停止を回避しています。
Dockerfile
DockerfileFROM java:8-jre
RUN apt-get update -y; exit 0;
RUN apt-get install mysql-client -y
実行ログ
修正したDockerfileで再度docker build
コマンドを実行したログになります。
bash$ docker build -t hoge .
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM java:8-jre
---> e44d62cf8862
Step 2/3 : RUN apt-get update -y; exit 0;
---> Running in ae8c71111846
Get:1 http://security.debian.org jessie/updates InRelease [44.9 kB]
Ign http://deb.debian.org jessie InRelease
Get:2 http://deb.debian.org jessie-updates InRelease [16.3 kB]
Ign http://deb.debian.org jessie-backports InRelease
Get:3 http://deb.debian.org jessie Release.gpg [1652 B]
Ign http://deb.debian.org jessie-backports Release.gpg
Get:4 http://deb.debian.org jessie Release [77.3 kB]
Ign http://deb.debian.org jessie-backports Release
Err http://deb.debian.org jessie-backports/main amd64 Packages
Err http://deb.debian.org jessie-backports/main amd64 Packages
Err http://deb.debian.org jessie-backports/main amd64 Packages
Err http://deb.debian.org jessie-backports/main amd64 Packages
Err http://deb.debian.org jessie-backports/main amd64 Packages
404 Not Found
Get:5 http://security.debian.org jessie/updates/main amd64 Packages [992 kB]
Get:6 http://deb.debian.org jessie-updates/main amd64 Packages [20 B]
Get:7 http://deb.debian.org jessie/main amd64 Packages [9098 kB]
W: There is no public key available for the following key IDs:
AA8E81B4331F7F50
W: Failed to fetch http://deb.debian.org/debian/dists/jessie-backports/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
Fetched 10.2 MB in 13s (732 kB/s)
Removing intermediate container ae8c71111846
---> 28ae927cbccd
Step 3/3 : RUN apt-get install mysql-client -y
---> Running in bc18b00d9c52
暫定ですがエラーは回避することができました。
恒久対応
根本的な解決はパッケージを正しく取得することで
DNSのあたり設定に問題があると思っているため引き続きこちらについては調査していきたいと思います。
- article
Playwright × Docker:本番環境に近い E2E テストを構築
- article
Docker でマイクロサービスを構築するアーキテクチャ入門
- article
Vite × Docker:本番運用を見据えたコンテナ化手順
- article
【解説】Docker Hub とプライベートレジストリの違いと使い分け
- article
Docker で GPU を活用する:機械学習環境を構築するための手順
- article
Docker Compose と Makefile を組み合わせて開発効率を最大化する方法
- article
Remix の Mutation とサーバーアクション徹底活用
- article
【解決策】Codex API で「Rate Limit Exceeded」が出る原因と回避方法
- article
既存 React プロジェクトを Preact に移行する完全ロードマップ
- article
Astro × TypeScript:型安全な静的サイト開発入門
- article
Playwright × Docker:本番環境に近い E2E テストを構築
- article
useQuery から useLazyQuery まで - Apollo Hooks 活用パターン集
- blog
iPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
- blog
Googleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
- blog
【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
- blog
Googleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
- blog
Pixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
- blog
フロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
- review
今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来