2

Следовал инструкциям https://stackoverflow.com/a/46266757 (ответ «Как лучше использовать docker + ufw под Ubuntu» от @mkubaczyk), чтобы правильно настроить Docker с UFW, но по-прежнему не может получить доступ к Интернету в контейнерах.

В чем может быть проблема?

1 ответ1

2

Проблема может быть в контейнерах, которые вы устанавливаете с помощью docker-compose . По умолчанию для сервисов создается новая сеть в файле docker-compose.yml . Это приводит к тому, что у вас не только интерфейс docker0 с настройкой подсети 172.17.0.0/16 но и обычно другие интерфейсы 172.x.0.0/16.

Чтобы преодолеть это, вы должны добавить больше правил для ваших сетей:

$ iptables -t nat -A POSTROUTING ! -o br-XXX -s 172.YYY.0.0/16 -j MASQUERADE

где br-XXX - имя интерфейса, 172.YYY.0.0/16 - подсеть.

В качестве альтернативы, используйте одну сеть docker0 , имея в своем docker-compose.yml для каждого описанного сервиса:

    network_mode: bridge

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .