Heim > Artikel > Betrieb und Instandhaltung > Was soll ich tun, wenn Docker den Domänennamen nicht auflösen kann?
Lösung: 1. Verwenden Sie „cat /proc/sys/net/ipv4/ip_forward“, um das Dateisystem „/proc“ zu überprüfen und zu bestätigen, ob das System die IP-Weiterleitungsfunktion aktiviert hat. 2. Verwenden Sie „echo 1 >“ /proc/sys/ Net/ipv4/ip_forward“, ändern Sie den Inhalt der Datei von 0 auf 1, um die IP-Weiterleitungsfunktion zu aktivieren; 3. Ändern Sie den Wert von „ip_forward“ in der Datei „/etc/sysctl.conf“. um die IP-Weiterleitung dauerhaft zu ändern.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.
Es meldet ständig einen unbekannten Host und kann den Domainnamen nicht auflösen:
Lösung
1 Funktion ist im Linux-System standardmäßig nicht aktiviert. Bitte bestätigen Sie den Status der IP-Weiterleitungsfunktion:
Sie können das /proc-Dateisystem überprüfen und den folgenden Befehl verwenden:
Aus Sicherheitsgründen die Das Linux-System verbietet standardmäßig die Paketweiterleitung.
Die sogenannte Weiterleitung bedeutet, dass, wenn der Host über mehr als eine Netzwerkkarte verfügt, eine von ihnen das Datenpaket empfängt und das Paket entsprechend der Ziel-IP-Adresse des Datenpakets an eine andere Netzwerkkarte des lokalen Computers sendet Die Netzwerkkarte sendet das Datenpaket weiterhin gemäß der Routing-Tabelle. Um die IP-Weiterleitungsfunktion des Linux-Systems zu konfigurieren, stellen Sie zunächst die Hardware-Konnektivität sicher und aktivieren Sie dann die Weiterleitungsfunktion des Systems
cat /proc/sys/net/ipv4/ip_forward. Der Inhalt der Datei ist 0, was bedeutet Die Paketweiterleitung ist verboten und 1 bedeutet, dass sie erlaubt ist.
2. Wenn der Wert in der obigen Datei 0 ist, bedeutet dies, dass die IP-Weiterleitung verboten ist.
Wenn er 1 ist, bedeutet dies, dass die IP-Weiterleitungsfunktion aktiviert wurde Mit der IP-Weiterleitungsfunktion können Sie die obige Datei direkt ändern:
echo 1 > /proc/sys/net/ipv4/ip_forward
Ändern Sie den Inhalt der Datei von 0 auf 1. Durch das Deaktivieren der IP-Weiterleitung ändert sich 1 auf 0.
3. Der obige Befehl speichert die Änderungen an der IP-Weiterleitungskonfiguration nicht. Der ursprüngliche Wert wird beim nächsten Systemstart weiterhin verwendet.
Um die IP-Weiterleitung dauerhaft zu ändern, müssen Sie die Datei /etc /sysctl.conf-Datei. Der Wert der folgenden Zeile:
net.ipv4.ip_forward = 1
Nach der Änderung können Sie das System neu starten, um die Änderung wirksam zu machen, oder den folgenden Befehl ausführen, um die Änderung wirksam zu machen:
sysctl -p /etc/sysctl.conf
Nach der obigen Konfiguration wird die Die IP-Weiterleitungsfunktion ist dauerhaft aktiviert
Erweiterungswissen:
Konfigurieren Sie nach dem Aufrufen des Docker-Containers die Domänennamenauflösung in der Hosts-Datei.
# 进入 docker 容器 docker exec -it my_web /bin/bash # 修改 hosts 文件 vi /etc/hosts # 添加域名解析规则 192.168.99.100 example.test # 利用 ping 命令验证一下,是否可以 ping 通 ping example.test
Wenn Ihr Docker-Host nicht über den Ping-Befehl verfügt, können Sie ihn natürlich installieren. Wenn Sie ihn nicht installieren möchten, können Sie auch andere Methoden verwenden, um zu überprüfen, ob die Domänennamenauflösung vorhanden ist gelöst worden.
Es ist zu beachten, dass bei jedem Neustart des Containers (Dienstes) die neu hinzugefügte Konfiguration in der Datei /etc/hosts im Container ungültig wird und daher neu konfiguriert werden muss.
Empfohlenes Lernen: „Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Docker den Domänennamen nicht auflösen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!