Все еще не могу получить доступ к Интернету из контейнеров Docker

796
Te Ri

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

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

2

1 ответ на вопрос

2
Te Ri

Проблема может быть с контейнерами, которые вы используете 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 

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