Ще не вдається отримати доступ до Інтернету з контейнерів Docker


4

Дотримуйтесь https://stackoverflow.com/a/46266757 ("Яка найкраща практика докера + ufw під Ubuntu", відповідь @mkubaczyk), щоб правильно налаштувати Docker з UFW, але все ще не може отримати доступ до Інтернету в контейнерах.

Що може бути проблемою?

Відповіді:


4

Проблема може бути з контейнерами, які ви налаштовуєте за допомогою 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.