Maison > Opération et maintenance > Docker > Docker ne peut pas se connecter à la solution réseau externe

Docker ne peut pas se connecter à la solution réseau externe

Libérer: 2020-03-31 11:50:50
original
10922 Les gens l'ont consulté

Docker ne peut pas se connecter à la solution réseau externe

Docker ne peut pas se connecter au réseau externe Solution :

1 S'il a été utilisé normalement auparavant, l'hôte peut accéder au réseau externe, mais le conteneur. ne peut pas, vous pouvez essayer de redémarrer le service Docker pour résoudre le problème :

>>>sercice docker restart
#debian/ubutun中sh为dash,centos指bash
>>>docker run -it -v /yourfile:/file -p 8000:8000 /bin/bash imageid 
>>>
Copier après la connexion

2. Le conteneur Docker fournit des services et écoute le port 8888. Pour activer l'accès externe, le mappage des ports est requis.

docker run -it --rm -p 8888:8888 server:v1
Copier après la connexion

Un problème est survenu à ce moment. Après le déploiement sur la machine virtuelle A, le service de port 8888 est accessible en A, mais n'est pas accessible en B.

Cela devrait être dû au fait que la demande a été interceptée.

Afficher firewall-cmd --state

Si la sortie est "ne fonctionne pas", FirewallD n'est pas en cours d'exécution et toutes les stratégies de protection ne sont pas démarrées, alors vous pouvez Éliminez le pare-feu qui bloque la connexion.

Si le résultat est "en cours d'exécution", cela signifie que FirewallD est actuellement en cours d'exécution. Vous devez entrer la commande suivante pour voir quels ports et services sont maintenant ouverts :

firewall-cmd --list-ports
firewall-cmd --list-services
Copier après la connexion

Il existe deux solutions. :

1. Désactivez le service FirewallD :

Si vous n'avez pas besoin de pare-feu, désactivez simplement le service FirewallD directement

systemctl stop firewalld.service
Copier après la connexion

2. ouvrir le port spécifié au monde extérieur :

Par exemple, si nous voulons ouvrir le port externe 5000/tcp maintenant, nous pouvons utiliser la commande suivante :

firewall-cmd --add-port=5000/tcp --permanent
firewall-cmd --reload
Copier après la connexion

Si nous n'ouvrons que temporairement le port, supprimez le paramètre "--permanent" dans la première ligne de la commande, puis lorsque Cette politique deviendra invalide au nouveau redémarrage du service FirewallD.

Le transfert IP n'est pas activé

sysctl net.ipv4.ip_forward
Copier après la connexion

Si net.ipv4.ip_forward=0 s'affiche, cela signifie qu'il n'est pas activé.

Ouvrez le fichier sysctl.conf

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

Ajoutez le code suivant :

net.ipv4.ip_forward=1
Copier après la connexion

Pour plus de tutoriels connexes, veuillez faire attention à la colonne docker tutoriel du site PHP chinois.

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