🐳 Решение ошибки WARNING: IPv4 forwarding is disabled. Networking will not work.

Как исправить ошибку Docker

by itisgood

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

Это можно исправить несколькими способами.

Ошибка обычно возникает при попытке собрать образ docker.

Предупреждение “[Warning] IPv4 forwarding is disabled. Networking will not work.” говорит о том, что необходимо включить переадресацию IPv4.

Step 10 : RUN set -x && pip install -U pip setuptools && pip install -r /tmp/requirements/dev.txt ... ---> [Warning] IPv4 forwarding is disabled. Networking will not work. ---> Running in b4b9fb134518 + pip install -U pip setuptools Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by NewConnectionError(Failed to establish a new connection: [Errno -2] Name or service not known,): /simple/pip/

Сначала настройте конфигурационный файл демона docker так, чтобы в нем был доступен один или два DNS-сервера для выполнения запросов:

$ cat /etc/docker/daemon.json
{
    "dns": ["10.1.1.254","8.8.8.8","10.115.1.220"],
    "live-restore": true
}

Выше видно, что у меня есть несколько локальных (intranet vpn) серверов имен, а также DNS-сервер Google 8.8.8.8.

Далее этого необходимо включить перезапуск демона docker (systemctl restart docker), но мы подождем завершения следующего шага, прежде чем выполнять перезапуск демона.

Теперь необходимо включить переадресацию между интерфейсами в ядре.

Для этого используется параметр sysctl net.ipv4.ip_forward.

Его можно задать один раз из командной строки, но при перезагрузке системы он не будет сохранен, поэтому я задал его в файле sysctl docker:

$ cat  /usr/lib/sysctl.d/99-docker.conf
fs.may_detach_mounts=1
net.ipv4.ip_forward=1

Это позволит устанавливать переменную net.ipv4.ip_forward в true при каждом запуске или перезапуске демона docker.

Теперь мы можем выполнить перезапуск и убедиться, что оба изменения включены.

$ sudo systemctl restart docker

см. также:

You may also like

Leave a Comment