Problème :
Vous souhaitez vous connecter à une instance MySQL exécutée dans un Conteneur Docker de votre machine hôte, mais vous rencontrez une erreur liée à la connexion socket.
Votre fichier Docker inclut les modifications suivantes :
Réussi Séquence de commandes :
Connexion depuis l'intérieur Conteneur :
Une fois à l'intérieur du conteneur, vous pouvez vous connecter avec succès à MySQL en utilisant : mysql -u root
Tentative infructueuse depuis la machine hôte :
Lorsque vous tentez de vous connecter depuis l'hôte en utilisant : mysql -P 12345 -uroot, vous recevez une erreur indiquant l'impossibilité de se connecter à MySQL via le socket.
Pour vous connecter à l'instance MySQL dans le conteneur Docker depuis la machine hôte, utilisez la commande suivante :
mysql -h localhost -P 3306 --protocol=tcp -u root
Remplacez 3306 par le numéro de port que vous avez transféré depuis le conteneur Docker (dans ce cas, 12345).
Explication :
Étant donné que MySQL s'exécute dans le conteneur Docker, la connexion socket n'est pas disponible. En définissant "--protocol=tcp" dans la commande mysql, vous pouvez spécifier que la connexion doit être établie via TCP à la place.
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!