Maison > Opération et maintenance > Docker > Comment résoudre le problème du blocage du port Docker Swarm

Comment résoudre le problème du blocage du port Docker Swarm

藏色散人
Libérer: 2022-01-20 14:29:20
original
6034 Les gens l'ont consulté

Solution à l'échec du port Swarm Docker : 1. Modifiez le fichier de configuration et ajoutez la configuration "net.ipv4.ip_forward=1" ; 2. Redémarrez le réseau via "systemctl restart network".

Comment résoudre le problème du blocage du port Docker Swarm

L'environnement d'exploitation de cet article : système centOS6.8, Docker version 18.09.x, ordinateur Dell G3.

Comment résoudre le problème du blocage du port Swarm Docker ? Problème de réseau Docker Swarm

Problème :

Le réseau interne de l'hôte Docker est normal, mais la connexion avec d'autres hôtes échoue. Les autres hôtes ne peuvent pas se connecter au port mappé sur l'hôte Docker et Docker ne peut pas se connecter aux hôtes externes.

L'environnement du serveur est le suivant :

  • Le système est centos
  • docker info
WARNING: IPv4 forwarding is disabled
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Copier après la connexion

Solution

  • Modifier le fichier de configuration

vim /etc/sysctl.conf
Copier après la connexion

Ajouter la configuration

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
Copier après la connexion

Exécuter sysctl -ppour prendre effet

  • Redémarrez le réseau

systemctl restart network
Copier après la connexion

Vérifiez à nouveau les informations du docker, l'avertissement disparaît et le réseau docker sur l'hôte revient à la normale.


Point clé, pour les serveurs cloud

Le serveur que j'utilise est Alibaba Cloud Server
Si votre cluster utilise le port par défaut 4789, alors vous risquez de rencontrer le même problème que moi.

Il y a cette phrase dans la documentation d'aide d'Alibaba Cloud :

Avant d'ajouter la surveillance UDP, veuillez faire attention aux restrictions suivantes :
Les trois ports 250, 4789 et 4790 pour la surveillance UDP sont des ports réservés au système et ne sont pas ouverts. au public pour le moment.
Détails

Dans les versions 19.03 et ultérieures, docker ajoute l'élément de configuration –data-path-port uint32 au-dessus de swarm init pour modifier le port VXLAN de docker swarm.
Le problème a été résolu avec succès après avoir modifié le port

sudo docker swarm init --data-path-port 5789
Copier après la connexion

Autres problèmes

Affichez le journal du docker (journalctl -u docker -n 20 -f) et trouvé :

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"
Copier après la connexion

La raison en est que l'hôte ne se charge pas le module ip_vs. Redémarrez simplement Docker après avoir chargé le module ip_vs sur chaque nœud. [Apprentissage recommandé : "Tutoriel vidéo Docker"]

modprobe ip_vs
service docker restart
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal