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