Heim > Betrieb und Instandhaltung > Docker > Docker kann keine Verbindung zur externen Netzwerklösung herstellen

Docker kann keine Verbindung zur externen Netzwerklösung herstellen

Freigeben: 2020-03-31 11:50:50
Original
10922 Leute haben es durchsucht

Docker kann keine Verbindung zur externen Netzwerklösung herstellen

Docker kann keine Verbindung zum externen Netzwerk herstellen. Lösung:

1. Wenn es zuvor normal verwendet wurde und der Host auf das externe Netzwerk, aber auf den Container zugreifen kann Wenn dies nicht möglich ist, können Sie versuchen, den Docker-Dienst neu zu starten, um das Problem zu lösen:

>>>sercice docker restart
#debian/ubutun中sh为dash,centos指bash
>>>docker run -it -v /yourfile:/file -p 8000:8000 /bin/bash imageid 
>>>
Nach dem Login kopieren

2. Der Docker-Container stellt Dienste bereit und lauscht auf Port 8888. Um den externen Zugriff zu ermöglichen, ist eine Portzuordnung erforderlich.

docker run -it --rm -p 8888:8888 server:v1
Nach dem Login kopieren

Zu diesem Zeitpunkt ist ein Problem aufgetreten. Nach der Bereitstellung auf der virtuellen Maschine A kann auf den 8888-Port-Dienst in A zugegriffen werden, in B jedoch nicht.

Dies dürfte daran liegen, dass die Anfrage abgefangen wurde.

Firewall-cmd --state anzeigen

Wenn die Ausgabe „nicht ausgeführt“ lautet, FirewallD nicht ausgeführt wird und nicht alle Schutzstrategien gestartet sind, können Sie dies tun Schließen Sie aus, dass die Firewall die Verbindung blockiert.

Wenn die Ausgabe „running“ lautet, bedeutet dies, dass FirewallD derzeit ausgeführt wird. Sie müssen den folgenden Befehl eingeben, um zu sehen, welche Ports und Dienste jetzt geöffnet sind:

firewall-cmd --list-ports
firewall-cmd --list-services
Nach dem Login kopieren

Es gibt zwei Lösungen :

1. Schalten Sie den FirewallD-Dienst aus:

Wenn Sie keine Firewall benötigen, schalten Sie einfach den FirewallD-Dienst direkt aus

systemctl stop firewalld.service
Nach dem Login kopieren

2 Öffnen Sie den angegebenen Port für die Außenwelt:

Wenn wir beispielsweise den externen 5000/TCP-Port jetzt öffnen möchten, können wir den folgenden Befehl verwenden:

firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --reload
Nach dem Login kopieren

Wenn wir ihn nur vorübergehend öffnen Entfernen Sie für den Port den Parameter „--permanent“ in der ersten Zeile des Befehls. Diese Richtlinie wird ungültig, wenn der FirewallD-Dienst erneut gestartet wird.

IP-Weiterleitung ist nicht aktiviert

sysctl net.ipv4.ip_forward
Nach dem Login kopieren

Wenn net.ipv4.ip_forward=0 angezeigt wird, bedeutet das, dass es nicht aktiviert ist.

Öffnen Sie die Datei sysctl.conf

vi /etc/sysctl.conf
Nach dem Login kopieren

Fügen Sie den folgenden Code hinzu:

net.ipv4.ip_forward=1
Nach dem Login kopieren

Weitere verwandte Tutorials finden Sie in der Spalte Docker-Tutorial der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonDocker kann keine Verbindung zur externen Netzwerklösung herstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage