Connexion au conteneur MySQL à partir d'un autre conteneur
Maintenir une connexion entre les conteneurs peut être essentiel dans les systèmes distribués. Lorsque vous travaillez avec des conteneurs MySQL, il est crucial d'accéder à la base de données à partir d'un autre conteneur.
Énoncé du problème :
Vous avez créé un conteneur MySQL exposant le port 3306. Dans un autre conteneur, vous essayez d'accéder à cette base de données en utilisant son adresse IP. Cependant, vous pensez que cette méthode n'est pas fiable et recherchez des options alternatives de spécification d'hôte.
Solution :
L'indicateur --link hérité utilisé pour connecter les conteneurs est désormais pris en compte dépassé. Au lieu de cela, des réseaux définis par l'utilisateur sont recommandés.
Pour connecter les deux conteneurs sur le même réseau :
docker run -d --name php_container --network my_network my_php_image docker run -d --name mysql_container --network my_network my_mysql_image
Mécanisme :
En plaçant les deux conteneurs sur le même réseau défini par l'utilisateur ("my_network" dans cet exemple), chaque conteneur peut communiquer avec l'autre en utilisant le nom du conteneur attribué comme nom d'hôte.
Par exemple, pour accéder au conteneur MySQL dans PHP conteneur utilisant mysqli, vous préciseriez :
$mysqli = new mysqli("mysql_container", "mattia", "prova", "prova");
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!