"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment se connecter à un conteneur MySQL depuis un autre conteneur dans Docker ?

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

Publié le 2024-11-08
Parcourir:792

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 à l'aide de MySQL l'adresse IP du conteneur (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

Linking Containers

Exécuter les deux conteneurs sur le même réseau, en fournissant le nom du réseau à l'aide de 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, depuis le 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 plus robuste et flexible de connecter des 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.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3