So lösen Sie das Problem der Blockierung des Swarm-Docker-Ports

藏色散人
Freigeben: 2022-01-20 14:29:20
Original
5934 Leute haben es durchsucht

Lösung für den Swarm-Docker-Port-Fehler: 1. Bearbeiten Sie die Konfigurationsdatei und fügen Sie die Konfiguration „net.ipv4.ip_forward=1“ hinzu. 2. Starten Sie das Netzwerk über „systemctl restart network“ neu.

So lösen Sie das Problem der Blockierung des Swarm-Docker-Ports

Die Betriebsumgebung dieses Artikels: CentOS6.8-System, Docker-Version 18.09.x, Dell G3-Computer.

Wie kann das Problem der Blockierung des Swarm-Docker-Ports gelöst werden? Docker-Schwarm-Netzwerkproblem

Problem:

Das interne Netzwerk des Docker-Hosts ist normal, aber die Verbindung mit anderen Hosts schlägt fehl. Andere Hosts können keine Verbindung zu dem auf dem Docker-Host zugeordneten Port herstellen, und Docker kann keine Verbindung zu externen Hosts herstellen.

Die Serverumgebung ist wie folgt:

  • Das System ist Centos
  • Docker-Info
WARNING: IPv4 forwarding is disabled
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Nach dem Login kopieren

Lösung

  • Bearbeiten Sie die Konfigurationsdatei

vim /etc/sysctl.conf
Nach dem Login kopieren

Fügen Sie die Konfiguration hinzu

net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-arptables=1
net.ipv4.ip_forward=1
Nach dem Login kopieren

Beispiel ecutesysctl -pEs wird wirksam

  • Starten Sie das Netzwerk neu

systemctl restart network
Nach dem Login kopieren

Überprüfen Sie die Docker-Informationen erneut, die Warnung verschwindet und das Docker-Netzwerk auf dem Host kehrt zum Normalzustand zurück.


Wichtiger Punkt für Cloud-Server

Der Server, den ich verwende, ist Alibaba Cloud Server
Wenn Ihr Cluster den Standardport 4789 verwendet, treten möglicherweise dasselbe Problem wie ich auf.

Im Hilfedokument von Alibaba Cloud steht dieser Satz:

Bevor Sie die UDP-Überwachung hinzufügen, beachten Sie bitte die folgenden Einschränkungen:
Die drei Ports 250, 4789 und 4790 der UDP-Überwachung sind reservierte Ports für das System und nicht geöffnet vorerst der Öffentlichkeit zugänglich machen.
Details

In den Versionen 19.03 und höher fügt Docker das Konfigurationselement –data-path-port uint32 bei Swarm-Init hinzu, um den VXLAN-Port von Docker Swarm zu ändern.
Das Problem wurde nach der Änderung des Ports erfolgreich gelöst

sudo docker swarm init --data-path-port 5789
Nach dem Login kopieren

Andere Probleme

Sehen Sie sich das Docker-Protokoll an (journalctl -u docker -n 20 -f) und finden Sie:

level=error msg="error reading the kernel parameter net.ipv4.vs.expire_nodest_conn" 
error="open /proc/sys/net/ipv4/vs/expire_nodest_conn: no such file or directory"
Nach dem Login kopieren

Der Grund dafür ist, dass der Host nicht geladen wird das ip_vs-Modul. Starten Sie Docker einfach neu, nachdem Sie das ip_vs-Modul auf jedem Knoten geladen haben. [Empfohlenes Lernen: „Docker-Video-Tutorial“]

modprobe ip_vs
service docker restart
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der Blockierung des Swarm-Docker-Ports. 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