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!