Description du problème :
Après avoir démarré Docker et effectué le mappage des ports, Docker ajoutera des règles DNAT dans iptables, convertira les paquets reçus du port correspondant en IP et effectuera Forward et ajoutez des règles pour convertir toutes les adresses IP du domaine Docker.
Cependant, sur Centos7, docker peut normalement accéder au réseau externe, mais les requêtes du réseau externe ne peuvent pas être transmises à docker0 après avoir été reçues et transmises par eth1, ou (oui Unknown) apparaît lors de son envoi.
La solution est la suivante :
Après avoir démarré Docker, redémarrez iptables
service iptables restart
Effacez toutes les règles ajoutées par Docker, puis ajoutez la règle
iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
pour supprimer toutes les règles de docker L'IP du package 172.17.0.0/16 est remplacée par l'IP locale et envoyée pour atteindre l'objectif de docker d'accéder au réseau externe.
Tutoriels associés recommandés : Tutoriel Docker
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!