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
517 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!

source:php.cn
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