Maison > base de données > tutoriel mysql > Comment se connecter à une instance MySQL Dockerisée à partir de la machine hôte ?

Comment se connecter à une instance MySQL Dockerisée à partir de la machine hôte ?

Barbara Streisand
Libérer: 2024-11-29 08:39:11
original
379 Les gens l'ont consulté

How to Connect to a Dockerized MySQL Instance from the Host Machine?

Connexion à MySQL dans un conteneur Docker à partir de l'hôte

Description du problème :

Quand en essayant de vous connecter à une base de données MySQL exécutée dans un conteneur Docker à partir de la machine hôte, un message d'erreur s'affiche : "Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock'".

Dockerfile :

Le Dockerfile suivant est utilisé pour créer le conteneur MySQL :

FROM ubuntu:14.04.3
RUN apt-get update && apt-get install -y mysql-server
RUN grep -v bind-address /etc/mysql/my.cnf > temp.txt && mv temp.txt /etc/mysql/my.cnf
EXPOSE 3306
CMD /etc/init.d/mysql start && tail -F /var/log/mysql.log
Copier après la connexion

Tentatives infructueuses :

Malgré le succès démarrer l'instance MySQL dans le conteneur, s'y connecter depuis l'hôte avec mysql -P 12345 -uroot entraîne l'erreur de socket.

Solution :

Pour se connecter à la base de données MySQL exécutée dans le conteneur Docker depuis la machine hôte, les étapes suivantes sont nécessaires :

  1. Spécifiez l'adresse de l'hôte comme 'localhost'.
  2. Spécifiez le port sur lequel l'instance Docker MySQL écoute (3306 par défaut).
  3. Définissez le protocole sur 'tcp' car l'instance Docker MySQL n'est pas accessible via un Socket Unix.

Commande pour l'hôte Connexion :

mysql -h localhost -P 3306 --protocol=tcp -u root
Copier après la connexion

Modification du port :

Si un port différent est utilisé pour exposer l'instance MySQL dans le conteneur Docker (par exemple, 12345) , il doit également être spécifié dans la commande de connexion :

mysql -h localhost -P 12345 --protocol=tcp -u root
Copier après la connexion

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