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 >>>
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
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
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
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
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
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
Ajoutez le code suivant :
net.ipv4.ip_forward=1
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!