Maison > Article > Opération et maintenance > Que dois-je faire si le conteneur Docker ne peut pas accéder au réseau externe ?
Causes et solutions lorsque les conteneurs Docker ne peuvent pas accéder aux réseaux externes : configurez le mappage des ports NAT pour mapper les ports des conteneurs aux ports hôtes. Choisissez le bon pilote réseau (tel qu'un hôte ou une superposition) en fonction de la compatibilité de l'hôte. Autorisez les ports de conteneur via le pare-feu de l'hôte. Configurez les serveurs DNS corrects pour le conteneur. Choisissez le bon mode de mise en réseau de conteneurs. Résolvez les problèmes de réseau hôte tels que les problèmes de pare-feu ou de connectivité.
Solution pour que le conteneur Docker ne puisse pas accéder au réseau externe
Lorsque le conteneur Docker ne peut pas accéder au réseau externe, cela peut être dû aux raisons suivantes :
1. configuré
Conteneur Docker par défaut Dans ce cas, l'accès direct au réseau externe n'est pas possible. Le mappage des ports NAT est requis pour mapper les ports de conteneur aux ports hôtes. Par exemple :
<code>docker run -p 8080:80 nginx</code>
La commande ci-dessus mappe le port 80 du conteneur au port 8080 sur l'hôte.
2. Le pilote réseau n'est pas compatible
Docker utilise le pilote réseau pont par défaut. Si l'hôte ne prend pas en charge la mise en réseau par pont, vous devez utiliser d'autres pilotes, tels que l'hôte ou la superposition. Par exemple :
<code>docker run --net=host nginx</code>
3. Blocage du pare-feu
Le pare-feu de l'hôte peut empêcher le conteneur d'accéder au réseau externe. Le port que le conteneur doit être autorisé à utiliser. Par exemple :
<code>sudo ufw allow 8080</code>
4. Problèmes de résolution DNS
Le conteneur peut ne pas être en mesure de résoudre les noms DNS externes. Le bon serveur DNS doit être configuré dans le conteneur. Par exemple :
<code>docker run --dns 8.8.8.8 nginx</code>
5. Mode réseau de conteneur inapproprié
Le mode réseau d'un conteneur Docker détermine la manière dont le conteneur se connecte au réseau. L'utilisation d'un mode réseau incorrect peut empêcher le conteneur d'accéder au réseau externe. Par exemple :
<code>docker run --network=none nginx</code>
6. Problèmes de réseau hôte
Des problèmes de réseau hôte peuvent également empêcher le conteneur d'accéder au réseau externe. Veuillez vérifier que la connexion au réseau hôte est normale et qu'il n'y a pas de pare-feu ou d'autres restrictions réseau.
Si aucune des étapes ci-dessus ne résout le problème, vous pouvez essayer ce qui suit :
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!