Запуск apt update && apt install -y sudo в контейнере завершается неудачно - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь запустить этот контейнер в Ubuntu 16.04, и один из шагов: RUN apt update && apt install -y sudo

Этот шаг завершается неудачей с Temporary failure to resolve некоторыми репозиториями.Это вывод этой ошибки:

Step 2/8 : RUN apt update && apt install -y sudo
 ---> Running in 15215f43b522

WARNING: apt does not have a stable CLI interface yet. Use with caution in scripts.

Err http://security.debian.org jessie/updates InRelease

Err http://deb.debian.org jessie InRelease

Err http://apt.postgresql.org jessie-pgdg InRelease

Err http://security.debian.org jessie/updates Release.gpg
  Temporary failure resolving 'security.debian.org'
Err http://deb.debian.org jessie-updates InRelease

Err http://apt.postgresql.org jessie-pgdg Release.gpg
  Temporary failure resolving 'apt.postgresql.org'
Err http://deb.debian.org jessie Release.gpg
  Temporary failure resolving 'deb.debian.org'
Err http://deb.debian.org jessie-updates Release.gpg
  Temporary failure resolving 'deb.debian.org'
Reading package lists...
W: Failed to fetch http://deb.debian.org/debian/dists/jessie/InRelease  

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease  

W: Failed to fetch http://security.debian.org/dists/jessie/updates/InRelease  

W: Failed to fetch http://apt.postgresql.org/pub/repos/apt/dists/jessie-pgdg/InRelease  

W: Failed to fetch http://security.debian.org/dists/jessie/updates/Release.gpg  Temporary failure resolving 'security.debian.org'

W: Failed to fetch http://deb.debian.org/debian/dists/jessie/Release.gpg  Temporary failure resolving 'deb.debian.org'

W: Failed to fetch http://apt.postgresql.org/pub/repos/apt/dists/jessie-pgdg/Release.gpg  Temporary failure resolving 'apt.postgresql.org'

W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/Release.gpg  Temporary failure resolving 'deb.debian.org'

W: Some index files failed to download. They have been ignored, or old ones used instead.
Building dependency tree...
Reading state information...
All packages are up to date.

WARNING: apt does not have a stable CLI interface yet. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package sudo

Я могу пропинговать репозитории на моем хост-компьютере.Но вышеприведенный вывод, кажется, предполагает, что эти хосты не могут быть обнаружены из контейнера, который появляется.

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Кажется DNS не может быть решена.Вы можете попробовать любое из следующих двух решений:

  1. Используйте --dns=xx.xx.xx.xx для запуска контейнера.

Что-то вроде docker run --dns=xx.xx.xx.xx images

Измените /etc/docker/daemon.json на хост-машине и перезапустите демон Docker после изменения.

Добавьте что-то вроде следующего в daemon.json:

{
    "dns":[xx.xx.xx.xx]
}
0 голосов
/ 09 октября 2018

Поскольку apt изменяет свое поведение в зависимости от версии (см. Описание в man apt), ввод apt upgrade в командной строке приведет вас к самой последней версии и, скорее всего, решит проблемы с подключением к репозиториям.,ОДНАКО, выполните следующие действия, чтобы убедиться, что вы охватили больше баз:

  1. Добавьте в apt обновление для вашего контейнера

  2. Установите sudo вручную (apt-get install sudo)

  3. ПОСЛЕДНИЕ КУРОРТЫ ДЛЯ ИСПРАВЛЕНИЯ КОМАНДЫ КОНТЕЙНЕРА DOCKER: RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*

...