сборка docker не удалась с "адресом уже используется" - PullRequest
0 голосов
/ 16 января 2019

docker build завершается с «адресом уже используется»

# docker build . --no-cache
Step 1/23 : FROM python:3.6
 ---> 8256ec07b2ad
Step 2/23 : ENV PYTHONUNBUFFERED 1
 ---> Running in 78555dd0c8cf
Removing intermediate container 78555dd0c8cf
 ---> ed07113d57c9
Step 3/23 : RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 apache2-utils apache2-dev
 ---> Running in 34b2929a0f8e
Address already in use

Мой /etc/docker/daemon.json:

{
  "iptables": false,
  "bip": "172.16.0.1/24"
}

Docker0-интерфейс существует нормально

# ip a sh docker0
7: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:a1:8c:d4:4a brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.1/24 brd 172.16.0.255 scope global docker0
       valid_lft forever preferred_lft forever

Я получил их на нескольких хостах, перезапуская подсказки демона docker, но часто только для первой сборки / первого шага с использованием сети.

Я понимаю, что ошибка, по-видимому, в том, что процесс сборки перегружает интерфейс docker0, возможно, но я не понимаю, почему.

Ошибка не связана с параметрами-демонами, я удалил их для проверки. Пакеты никогда не попадают в интерфейс docker0 (проверяется с помощью iptables -vL), поэтому это не проблема брандмауэра (также, поскольку «адрес уже используется» является ошибкой сокета ...)

Есть идеи / предложения?

редактирование:

FROM python:3.6
ENV PYTHONUNBUFFERED 1
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y apache2 apache2-utils

edit2 docker-info:

# docker info
Containers: 20
 Running: 1
 Paused: 0
 Stopped: 19
Images: 105
Server Version: 18.06.1-ce
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 162
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 apparmor
Kernel Version: 4.18.0-3-amd64
Operating System: Debian GNU/Linux buster/sid
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.677GiB
Name: 
ID: 
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: No swap limit support
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

1 Ответ

0 голосов
/ 17 января 2019

Возможно, потому что вы устанавливаете 2 версии Apache. Попробуйте установить apache2 или apache2-dev, а не оба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...