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