Heim >Betrieb und Instandhaltung >Docker >Was soll ich tun, wenn die Außenwelt nicht auf Docker zugreifen kann?

Was soll ich tun, wenn die Außenwelt nicht auf Docker zugreifen kann?

王林
王林Original
2020-03-24 14:40:592507Durchsuche

Was soll ich tun, wenn die Außenwelt nicht auf Docker zugreifen kann?

Problembeschreibung:

Nachdem Docker gestartet und die Portzuordnung durchgeführt wurde, fügt Docker DNAT-Regeln in iptables hinzu, wandelt die empfangenen Pakete des entsprechenden Ports in IP um und führt die Weiterleitung durch und fügen Sie Regeln hinzu, um alle IPs aus der Docker-Domäne zu konvertieren.

Auf Centos7 kann Docker jedoch normalerweise auf das externe Netzwerk zugreifen, aber Anfragen aus dem externen Netzwerk können nicht an Docker0 zugestellt werden, nachdem sie von eth1 empfangen und weitergeleitet wurden, oder (oui Unbekannt) wird beim Senden angezeigt.

Die Lösung lautet wie folgt:

Nach dem Starten von Docker starten Sie iptables neu

service iptables restart

Löschen Sie alle von Docker hinzugefügten Regeln und fügen Sie dann die Regel hinzu

iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE

um alle Regeln aus Docker zu entfernen Die IP des Pakets 172.17.0.0/16 wird durch die lokale IP ersetzt und gesendet, um den Zweck zu erreichen, dass Docker auf das externe Netzwerk zugreift.

Empfohlene verwandte Tutorials: Docker-Tutorial

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die Außenwelt nicht auf Docker zugreifen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn