Bei der Verwendung von Docker treten verschiedene Probleme auf. Eines davon ist, dass der Ping vom externen Netzwerk aus von Docker aus nicht erreicht werden kann. Dieses Problem tritt sehr häufig auf, ist jedoch auch schwerwiegend, da es uns möglicherweise daran hindert, eine Verbindung zu externen Ressourcen herzustellen.
Es gibt viele Gründe, warum Docker möglicherweise nicht in der Lage ist, das externe Netzwerk anzupingen. Im Folgenden sind einige gängige Lösungen aufgeführt.
Zuerst müssen wir bestätigen, ob die Netzwerkeinstellungen von Docker korrekt sind. Beim Ausführen eines Docker-Containers müssen Sie häufig den Netzwerkmodus angeben. Wenn der Netzwerkmodus nicht korrekt angegeben ist, kann Docker möglicherweise keine Verbindung zum externen Netzwerk herstellen.
Wir können den folgenden Befehl verwenden, um die Netzwerkeinstellungen von Docker anzuzeigen:
docker network inspect
Mit diesem Befehl können wir alle Netzwerkeinstellungen von Docker anzeigen. Wenn die Netzwerkeinstellungen falsch sind, müssen wir den folgenden Befehl verwenden, um das Netzwerk zurückzusetzen:
docker network create \ --driver bridge \ --subnet 192.168.0.0/16 \ mynetwork
Der obige Befehl erstellt ein Docker-Netzwerk mit dem Namen mynetwork und setzt das Subnetz auf 192.168.0.0/16.
Die Firewall-Einstellungen können dazu führen, dass Docker das externe Netzwerk nicht anpingen kann. Wir müssen die Firewall-Einstellungen überprüfen, um sicherzustellen, dass der Docker-Zugriff erlaubt ist.
Ein häufig verwendetes Tool für Firewall-Einstellungen ist iptables. Wir können die iptables-Einstellungen mit dem folgenden Befehl überprüfen:
sudo iptables -L
Wenn es eine Regel gibt, die den Netzwerkzugriff von Docker blockiert, müssen wir die folgende Regel hinzufügen:
sudo iptables -A INPUT -p tcp --dport 2375 -j ACCEPT sudo iptables -A OUTPUT -p tcp --dport 2375 -j ACCEPT
Das Obige Der Befehl fügt die Regel „Zulassen der Netzwerkzugriffsberechtigungen von Docker“ hinzu.
DNS-Einstellungen verhindern möglicherweise, dass Docker eine Verbindung zu externen Netzwerken herstellt. Wir müssen bestätigen, dass die DNS-Einstellungen von Docker korrekt sind.
Verwenden Sie den folgenden Befehl, um die DNS-Einstellungen von Docker anzuzeigen:
docker exec -it container_id cat /etc/resolv.conf
wobei „container_id“ die ID des zu überprüfenden Docker-Containers ist.
Wenn die DNS-Einstellungen falsch sind, können wir die richtige DNS-Serveradresse zur Datei /etc/docker/daemon.json von Docker hinzufügen:
{ "dns": ["1.1.1.1", "8.8.8.8"] }
Die oben genannten Einstellungen bedeuten, dass die 1.1.1.1 und 8.8.8.8 als DNS-Serveradressen.
Zuletzt müssen wir bestätigen, ob die Docker Engine-Version Netzwerkverbindungen unterstützt.
Bei einigen älteren Versionen der Docker Engine können Probleme mit der Netzwerkverbindung auftreten. Um dieses Problem zu vermeiden, müssen wir auf die neueste Version der Docker Engine aktualisieren.
Überprüfen Sie die Version der Docker Engine mit dem folgenden Befehl:
docker version
Wenn die Version nicht die neueste ist, müssen wir die Docker Engine mit dem folgenden Befehl aktualisieren: #🎜 🎜#
sudo apt-get update sudo apt-get install docker-ce
Das obige ist der detaillierte Inhalt vonGründe und Lösungen, warum Docker das externe Netzwerk nicht anpingen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!