Нет маршрута к DNS-серверу из контейнера Docker

Хотя я могу успешно проверить связь с хостом из контейнера Docker (например, docker run busybox ping -c 1 216.58.207.206 ), запросы, включающие поиск DNS, приводят к тайм-ауту ( например docker run nslookup google.com ).

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

Проблемы с подключением Docker к Docker кажутся - обычными , однако мои проблема связана с подключением Docker к DNS и отличается от этих проблем (хотя сообщение об ошибке похоже).

Я также пробовал Исправить конфигурацию DNS Docker Робина Уинслоу , однако, явно указав локальный или глобальный DNS-сервер выходит из строя.

$ docker run --dns <local DNS IP> busybox nslookup google.com
>>> nslookup: write to <local DNS IP>: No route to host
;; connection timed out; no servers could be reached

$ docker run --dns 8.8.8.8 busybox nslookup google.com
>>> nslookup: write to '8.8.8.8': No route to host
;; connection timed out; no servers could be reached

2
задан 29 June 2020 в 20:48
1 ответ

Быстрое исправление

Всем, у кого есть проблемы с Docker в Fedora 31/32, я предлагаю следовать Руководству журнала Fedora Magazine по Docker и Fedora 32

Лично для меня проблема была вызвана из-за того, что брандмауэр блокировал подключения к Docker, и следующая команда устранила это:

sudo firewall-cmd --permanent --zone=trusted --add-interface=docker0
sudo firewall-cmd --reload # reload the firewall rules

Переход на Podman

Docker требует корневого демона, который создает проблему безопасности . Проблему можно решить, переключившись на Podman и используя его с теми же командами, что и Docker:

podman run --dns 8.8.8.8 busybox nslookup google.com
2
ответ дан 30 June 2020 в 13:33

Теги

Похожие вопросы