Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was soll ich tun, wenn Docker den Domänennamen nicht auflösen kann?

Was soll ich tun, wenn Docker den Domänennamen nicht auflösen kann?

WBOY
WBOYOriginal
2022-06-27 10:55:503445Durchsuche

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.

Was soll ich tun, wenn Docker den Domänennamen nicht auflösen kann?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.

Was soll ich tun, wenn Docker den Domainnamen nicht auflösen kann?

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:

Was soll ich tun, wenn Docker den Domänennamen nicht auflösen kann?

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!

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