Проблема може бути з контейнерами, які ви налаштовуєте за допомогою 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