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
Docker vs Podman vs nerdctl 徹底比較:CLI 互換性・rootless・企業導入の勘所
- article
WordPress を Docker で最速構築:開発/本番の環境差分をなくす手順
- article
Docker の全体像を俯瞰:コンテナ時代の開発・配布・運用を一本化する戦略ガイド
- article
Docker Swarm 徹底入門:Kubernetes に移行する前に理解すべきこと
- article
Playwright × Docker:本番環境に近い E2E テストを構築
- article
Docker でマイクロサービスを構築するアーキテクチャ入門
- article
Obsidian Sync と iCloud/Dropbox/Google Drive:速度・信頼性・復旧性を実測比較
- article
Cline vs Devin vs Cursor 実務比較:要件理解・差分精度・保守コスト
- article
Claude Code vs Cursor vs Codeium:実案件で比較した生産性・品質・コスト
- article
Nuxt と Next.js を徹底比較:開発体験・レンダリング・エコシステムの違い
- article
Ansible と Terraform/Puppet/Chef 比較:宣言/手続の違いと併用戦略
- article
Nginx Unit と Node(+ PM2)/Passenger を比較:再読み込み・可用性・性能の実測
- 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 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来