Maison > base de données > tutoriel mysql > Comment se connecter à un conteneur Docker MySQL depuis votre machine hôte ?

Comment se connecter à un conteneur Docker MySQL depuis votre machine hôte ?

Linda Hamilton
Libérer: 2024-12-09 15:34:11
original
602 Les gens l'ont consulté

How to Connect to a MySQL Docker Container from Your Host Machine?

Connexion à MySQL dans un conteneur Docker

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.

Dockerfile Configuration

Votre fichier Docker inclut les modifications suivantes :

  • Mise à jour et installe le serveur MySQL
  • Supprime la restriction d'adresse de liaison dans my.cnf
  • Expose le port 3306

Réussi Séquence de commandes :

  1. Créez l'image : docker build -t my-image .
  2. Exécutez le conteneur : docker run -d -p 12345:3306 my-image

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.

Solution :

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
Copier après la connexion

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!

Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal