Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 8925|Répondre: 0

Conteneur Docker pour accéder aux services hôtes externes

[Copié le lien]
Publié sur 19/11/2019 10:10:01 | | | |
Le réseau par défaut du conteneur docker prend la forme d’un pont (dans le même LAN que l’hôte, mais utilisant une IP LAN séparée), lorsque le programme tourne en environnement de production, il suffit de configurer l’adresse de service correspondante pour se connecter à la base de données, aux redis, etc.

Dans un environnement de développement, si le service fonctionne dans docker et que la base de données s’exécute localement, configurer 127.0.0.1 n’est pas facile à utiliser.

Cela peut se résoudre de deux manières.

Solution 1 :

Considérez la machine hôte et le conteneur comme deux machines distinctes, et configurez l’IP LAN ou l’IP publique de l’hôte lors de la configuration de l’adresse.

Solution 2 :

Écrivez l’adresse hôte directement comme : host.docker.internal cependantLa seconde méthode nécessite une version Docker supérieure à 18.03 et doit être disponible sur Windows et Mac

Pour tester si ces deux méthodes peuvent accéder à l’hôte, vous pouvez exécuter directement une image avec docker pour ping à la ligne de commande :

Installez l’outil ping dans un conteneur construit avec Docker
https://www.itsvse.com/thread-8966-1-1.html
(Source : Architect_Programmer)


Comme vous pouvez le voir sur l’image ci-dessus, accès par conteneurhost.docker.internalVous pouvez accéder au service de l’hôte, en vérifiant le fichier /etc/hosts, vous constaterez qu’il n’y a pas de redirection de nom de domaine, et que vous ne connaissez pas le principe sous-jacent spécifique de docker.

L’hôte et le conteneur peuvent accéder aux services de l’hôte via host.docker.internal, mais l’adresse renvoyée par la commande ping est différente, comme suit :









Précédent:Des exemples expliquent ce que sont la pénétration du cache, l’avalanche de cache et la défaillance du cache Reddis
Prochain:Autofac « Erreur de dépendance circulaire détectée » résolue
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com