Maison  >  Article  >  base de données  >  Comment se connecter à un conteneur MySQL depuis un autre conteneur dans Docker ?

Comment se connecter à un conteneur MySQL depuis un autre conteneur dans Docker ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 00:20:02919parcourir

How to Connect to a MySQL Container from Another Container in Docker?

Connexion à un conteneur MySQL à partir d'un autre conteneur

Vous avez configuré un conteneur Docker exécutant MySQL et exposé le port 3306, mais comment pouvez-vous accédez-vous à cette base de données à partir d'un autre conteneur ?

Utilisation de l'adresse IP

Au départ, vous avez essayé de vous connecter en utilisant l'adresse IP du conteneur MySQL (172.17.0.2). Bien que cela fonctionne, ce n'est pas idéal car les adresses IP peuvent changer.

Réseaux définis par l'utilisateur

Une meilleure approche consiste à utiliser des réseaux définis par l'utilisateur pour connecter les conteneurs. Vous pouvez créer un réseau et y attacher les conteneurs MySQL et PHP.

docker network create my_network

Lier les conteneurs

Exécuter les deux conteneurs sur le même réseau, en fournissant au réseau name en utilisant l'indicateur --network :

docker run -d --name php_container --network my_network my_php_image
docker run -d --name mysql_container --network my_network my_mysql_image

Dans les conteneurs de ce réseau, vous pouvez résoudre les noms de conteneurs et vous connecter en utilisant le nom d'hôte. Par exemple, à partir du conteneur PHP, vous pouvez vous connecter à MySQL en utilisant :

$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");

Conclusion

Les réseaux définis par l'utilisateur offrent un moyen de connexion plus robuste et plus flexible. conteneurs dans Docker. L'utilisation de noms de conteneurs comme noms d'hôte simplifie l'accès et élimine le besoin de s'appuyer sur des adresses IP.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn