Докер не может разрешить deb.debian.org - PullRequest
0 голосов
/ 26 июня 2018

Я пытался построить контейнер в Docker для некоторых экспериментов.Вот мой Dockerfile.

FROM debian

RUN mkdir -p /var/run/sshd

RUN apt-get update
RUN apt-get install -y openssh-server

RUN apt-get install -y sudo

RUN echo AddressFamily inet >> /etc/ssh/sshd_config

ARG username=Rivers
ARG userpasswd=perfectXJ2017

RUN useradd -ms /bin/bash $username && (echo $username:$userpasswd | chpasswd)

RUN adduser $username sudo

CMD /usr/sbin/sshd -D

Я попытался создать свой образ с помощью команды sudo docker build -t ics-image ..

Но затем я получил несколько сообщений об ошибках, и весь процесс остановился.Вот сообщения об ошибках.

Sending build context to Docker daemon  2.048kB
Step 1/11 : FROM debian
 ---> 8626492fecd3
Step 2/11 : RUN mkdir -p /var/run/sshd
 ---> Running in 1e1f2dbbe5ca
Removing intermediate container 1e1f2dbbe5ca
 ---> dd4bec2f81d4
Step 3/11 : RUN apt-get update
 ---> Running in 022301215bfb
Get:1 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Get:2 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [450 kB]
Err:3 http://deb.debian.org/debian stretch InRelease
  Could not resolve 'deb.debian.org'
Err:4 http://deb.debian.org/debian stretch-updates InRelease
  Could not resolve 'deb.debian.org'
Fetched 544 kB in 20s (26.9 kB/s)
Reading package lists...
W: Failed to fetch http://deb.debian.org/debian/dists/stretch/InRelease  Could not resolve 'deb.debian.org'
W: Failed to fetch http://deb.debian.org/debian/dists/stretch-updates/InRelease  Could not resolve 'deb.debian.org'
W: Some index files failed to download. They have been ignored, or old ones used instead.
Removing intermediate container 022301215bfb
 ---> 054d32710b62
Step 4/11 : RUN apt-get install -y openssh-server
 ---> Running in 802d2fa37b8d
Reading package lists...
Building dependency tree...
Reading state information...
Package openssh-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'openssh-server' has no installation candidate
The command '/bin/sh -c apt-get install -y openssh-server' returned a non-zero code: 100

Я сделал все это в Ubuntu 18.04.Я не могу понять, почему это произошло и как решить эту проблему.Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 26 июня 2018

Сначала вы должны проверить, можете ли вы разрешить deb.debian.org с вашего хоста, на котором вы запускаете Docker.Вы можете проверить это с помощью nslookup deb.debian.org или dig deb.debian.org.

. Если вам не удается разрешить с хоста, добавьте nameserver 8.8.8.8 в файл /etc/resolve.conf и повторите попытку.Docker копирует серверы имен из /etc/resolve.conf файла.

Или вы можете установить сервер имен, создав файл /etc/docker/daemon.json

{
    "dns": ["8.8.8.8"]
}

, а затем перезапустите службу докера

service docker restart
...