J'ai tiré le conteneur MySQL de Dockerhub et il fonctionne sur mon macbook pro comme vous pouvez le voir comme suit
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
12cd3deaa3f0 mysql:latest "/entrypoint.sh mysql" 47 hours ago Up 10 minutes 3306/tcp mysqldb
Ensuite, j'ai téléchargé le plan de travail MySQL et j'ai essayé de le connecter avec le conteneur MySQL, mais cela ne fonctionne pas. Il montre une erreur de connexion.
Your connection attempt failed for user 'root' from your Host to server at 192.168.99.102:3306:
Can't connect to MySQL server on '192.168.99.102' (60)
L'IP de la machine docker est
docker-machine ip default
192.168.99.100
et le port de MySQL est 3306 comme vous pouvez le voir ci-dessus.
Pour exporter le port MySQL, j'ai essayé avec la déclaration
docker run -d -P mysql:latest mysqldb
Ca ne fonctionne pas du tout. Qu'est-ce que je fais mal?
Il semble que vous ayez exécuté le conteneur sans définir le -p 3306:3306
paramètre. En outre, il semble que vous ayez mal tapé l'adresse IP du nom d'hôte dans MySQL Workbench. Je recommande de recommencer à zéro en suivant ces instructions:
admin
en ce que vous voulez)docker run -e MYSQL_ROOT_PASSWORD=admin --name mysql -d -p=3306:3306 mysql
docker-machine ip default
Vous devriez être prêt maintenant.
Le paramètre -P
lie les ports exportés d'un conteneur automatiquement aux ports disponibles de l'hôte.
La commande suivante doit lier le port de conteneurs 3306 au port 3306 de l'hôte. Voir: Publier ou exposer le port
docker run -d -p 3306:3306 mysql:latest mysqldb