Diagnostic des problèmes de « connectivité externe »
Lorsqu'un conteneur Docker est incapable de se connecter à des ressources en dehors du réseau Docker, il s'agit souvent d'un problème de « connectivité externe ». Plusieurs causes courantes peuvent être à l'origine de ce problème, et le diagnostic peut être un processus en plusieurs étapes.
Vérifier la configuration réseau du conteneur
La première étape consiste à vérifier la configuration réseau du conteneur. Vous pouvez utiliser la commande docker inspect
pour afficher les paramètres réseau du conteneur :
docker inspect web | grep -i network
Cela vous affichera le pilote réseau, l'adresse IP, la passerelle et d'autres informations réseau relatives au conteneur. Assurez-vous que le conteneur est connecté au réseau correct et que les paramètres réseau sont corrects.
Vérifier les règles du pare-feu hôte
Si la configuration réseau du conteneur semble correcte, l'étape suivante consiste à vérifier les règles du pare-feu sur la machine hôte. Assurez-vous que les ports nécessaires sont ouverts et que le pare-feu n'empêche pas le trafic vers ou depuis le conteneur.
Vous pouvez utiliser la commande iptables
pour afficher et gérer les règles du pare-feu sur l'hôte :
sudo iptables -L
Inspecter la connectivité réseau
Vous pouvez également utiliser les commandes ping
et telnet
pour tester la connectivité réseau entre le conteneur et les ressources externes. À partir de l'intérieur du conteneur, essayez de pinguer une adresse IP externe connue ou d'établir une connexion telnet
vers un port spécifique.
docker exec web ping 8.8.8.8
docker exec web telnet example.com 80
Si les commandes ping
ou telnet
échouent, cela peut indiquer un problème de routage réseau ou de pare-feu.
Examiner les journaux Docker
Enfin, vérifiez les journaux Docker pour toute erreur ou indice pouvant aider à diagnostiquer le problème. Vous pouvez utiliser la commande docker logs
pour afficher les journaux d'un conteneur spécifique.
docker logs web
Recherchez toute erreur ou avertissement concernant la connectivité réseau ou l'accès externe.
En suivant ces étapes, vous devriez être en mesure d'identifier la cause première du problème de « connectivité externe » et de passer à la résolution du problème.