質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

apt-get

apt-getコマンドはUNIX系OSのパッケージのインストールなど、パッケージ管理を行うためのコマンドです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

受付中

DockerのUbuntu16.04コンテナでapt-get updateができない

ayaten3
ayaten3

総合スコア5

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

apt-get

apt-getコマンドはUNIX系OSのパッケージのインストールなど、パッケージ管理を行うためのコマンドです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0回答

1グッド

0クリップ

4472閲覧

投稿2020/04/21 14:05

編集2020/04/22 06:22

前提・実現したいこと

ベースイメージにUbuntu16.04を使ったコンテナを作りたいと思っています。
作成したDockerfileをdocker buildしようとすると、apt-get updateに失敗します。

発生している問題・エラーメッセージ

W: The repository 'http://security.ubuntu.com/ubuntu xenial-security Release' does not have a Release file. W: The repository 'http://archive.ubuntu.com/ubuntu xenial Release' does not have a Release file. W: The repository 'http://archive.ubuntu.com/ubuntu xenial-updates Release' does not have a Release file. W: The repository 'http://archive.ubuntu.com/ubuntu xenial-backports Release' does not have a Release file. E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/xenial-security/main/binary-amd64/Packages Connection timed out E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/main/binary-amd64/Packages Connection timed out E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-amd64/Packages Connection timed out E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/xenial-backports/main/binary-amd64/Packages Connection timed out E: Some index files failed to download. They have been ignored, or old ones used instead.

該当のソースコード

Dockerfile

1FROM ubuntu:16.04 2 3RUN apt-get update

試したこと

  • 以下のようにubuntu18.04のイメージを用いた場合、docker buildは成功します

Dockerfile

1FROM ubuntu:18.04 2 3RUN apt-get update
  • 以下のサイトを参考に/etc/apt/sources.listを書き換えてみましたが、ダメでした

リンク内容

Dockerfile

1FROM ubuntu:16.04 2 3RUN sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list 4RUN apt-get update

試したこと(追記)

  • Ubuntu18.04のコンテナ内で、dnsとapt-getを確認

ubuntu18.04コンテナを起動

terminal

1docker run -it --rm ubuntu:18.04

ubuntu18.04コンテナのdnsを確認
内容は伏せますが、ホストの/etc/resolv.confと同様でした

ubuntu18container

1root:/# cat /etc/resolv.conf 2# Generated by NetworkManager 3search hoge.com 4nameserver aaa.bbb.ccc.ddd

ubuntu18.04コンテナ内でapt-get updateを実行
成功します

ubuntu18container

1root:/# apt-get update 2Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease 3... 4Reading package lists... Done
  • Ubuntu16.04のコンテナ内で、dnsとapt-getを確認

ubuntu16.04コンテナを起動

terminal

1docker run -it --rm ubuntu:16.04

ubuntu16.04コンテナのdnsを確認
ホストの設定およびubuntu18.04コンテナの設定と同様でした

ubuntu16container

1root:/# cat /etc/resolv.conf 2# Generated by NetworkManager 3search hoge.com 4nameserver aaa.bbb.ccc.ddd

ubuntu16.04コンテナ内でapt-get updateを実行
失敗します

ubuntu16container

1root:/# apt-get update 2Get:1 http://security.ubuntu.com/ubuntu xenical-security InRelease 3Ign:1 4...

補足情報(FW/ツールのバージョンなど)

  • CentOS 7
  • Docker version 18.09.4
  • 実際にはProxy環境下ですが、ubuntu18.04では成功しているため、設定等は問題ないと考えています。
tanukichipon👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

gentaro

2020/04/21 17:43

質問文の16.04のDockerfileをビルドしてみましたが、こちらでは問題なく成功しました。 環境依存な気がします。
退会済みユーザー

退会済みユーザー

2020/04/22 00:21

dnsがうまくいってないんじゃないですかね
ayaten3

2020/04/22 06:23

コンテナ内のdns設定情報を追記しました
退会済みユーザー

退会済みユーザー

2020/04/22 07:54

nslookupコマンドとかどうでしょうか
ayaten3

2020/04/22 11:09

素のubuntu16.04イメージなので、nslookupとかは入っていません そしてaptが使えないので、インストールもできません
bsdfan

2020/04/24 03:42

docker pullで最新のイメージを取得しなおしてみてはどうでしょう。
退会済みユーザー

退会済みユーザー

2020/04/24 22:08

私の環境(mac catalina10.15)でも以下dockerfile試してみましたがうまく動作しています。 FROM ubuntu:16.04 RUN apt-get update gentaroさんがおっしゃるように環境依存だと思います。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

apt-get

apt-getコマンドはUNIX系OSのパッケージのインストールなど、パッケージ管理を行うためのコマンドです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです