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

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

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

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

apt-get

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

Docker

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

受付中

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クリップ

3716閲覧

投稿2020/04/21 14:05

編集2022/01/12 10:55

前提・実現したいこと

ベースイメージに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

FROM ubuntu:16.04 RUN apt-get update

試したこと

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

Dockerfile

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

リンク内容

Dockerfile

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

試したこと(追記)

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

ubuntu18.04コンテナを起動

terminal

docker run -it --rm ubuntu:18.04

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

ubuntu18container

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

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

ubuntu18container

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

ubuntu16.04コンテナを起動

terminal

docker run -it --rm ubuntu:16.04

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

ubuntu16container

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

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

ubuntu16container

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

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

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

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

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で質問しよう!

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Ubuntu

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

apt-get

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

Docker

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