Zugriff auf das Internet über Docker-Container noch immer nicht möglich

844
Te Ri

Gefolgt die https://stackoverflow.com/a/46266757 ( „Was ist die beste Praxis der Docker + UFW unter Ubuntu“ Antwort von @mkubaczyk) Führungs Docker mit UFW richtig zu konfigurieren, aber noch nicht in der Lage Internet in Containern zuzugreifen.

Was könnte das Problem sein?

2

1 Antwort auf die Frage

2
Te Ri

Das Problem kann bei Containern liegen, die Sie mit eingerichtet haben docker-compose. Standardmäßig wird ein neues Netzwerk für Dienste in docker-compose.ymlDatei erstellt. Dies führt dazu, dass Sie nicht nur über eine docker0Schnittstelle mit dem 172.17.0.0/16Subnetz-Setup verfügen, sondern normalerweise auch andere Schnittstellen 172.x.0.0 / 16.

Um dies zu überwinden, sollten Sie mehr Regeln für Ihre Netzwerke hinzufügen:

$ iptables -t nat -A POSTROUTING ! -o br-XXX -s 172.YYY.0.0/16 -j MASQUERADE 

Dabei ist br-XXX der Name der Schnittstelle, 172.YYY.0.0 / 16 - Subnetz.

Alternativ können Sie ein einzelnes docker0Netzwerk verwenden, indem Sie docker-compose.ymlfür jeden beschriebenen Dienst Folgendes angeben:

 network_mode: bridge