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!