😦
コンテナ内で apt update -y を実行するとエラーが出力される問題の解決方法
概要
コンテナ内で必要なモジュールをインストールする前に apt update -y
を実行するとエラーが出力された。
環境固有の問題にも思われたが、その解決策を掲示する。
実行環境
- Windows 10
- PowerShell 5.1.19041.4412
- Rancher Desktop
- Docker version 24.0.6-rd
発生した事象
作成したコンテナ内で apt update -y
を事項した際に以下のエラーが出力された。
Ign:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Ign:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Ign:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Ign:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Ign:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Err:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Temporary failure resolving 'security.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Temporary failure resolving 'archive.ubuntu.com'
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-updates/InRelease
Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/jammy-backports/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jammy-security/InRelease Temporary failure resolving 'security.ubuntu.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
使用したDockerfileは以下の通りです。
FROM ubuntu:22.04
解決方法
Dockerfileをもとにビルドしたイメージからコンテナを起動する際のコマンドに --dns=8.8.8.8
を追加することでエラーは解決された。
実際に使用したコマンドは以下の通り。
docker run -it -d --rm --dns=8.8.8.8 --name nginx nginx:stable
参考記事
Dockerコンテナでapt update が失敗するのを対応したメモ
8.8.8.8 に該当するパブリックDNSとは
Use a proxy server with the Docker CLI
Discussion