Collega il banco di lavoro MySQL con il contenitore MySQL


9

Ho estratto il contenitore MySQL da Dockerhub ed è in esecuzione sul mio macbook pro come puoi vedere come segue

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
12cd3deaa3f0        mysql:latest        "/entrypoint.sh mysql"   47 hours ago        Up 10 minutes       3306/tcp            mysqldb

Quindi ho scaricato il workbench di MySQL e ho provato a collegarlo con il contenitore MySQL, ma non funziona. Mostra errore di connessione.

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 dalla macchina docker è

docker-machine ip default
192.168.99.100

e la porta di MySQL è 3306 come puoi vedere sopra.

Per esportare la porta MySQL, ho provato con la dichiarazione

docker run -d -P mysql:latest mysqldb

Non funziona affatto. Che cosa sto facendo di sbagliato?

Risposte:


9

Sembra che tu abbia eseguito il contenitore senza impostare il -p 3306:3306parametro. Inoltre, sembra che tu abbia sbagliato a digitare l'indirizzo IP del nome host in MySQL Workbench. Consiglio di iniziare da zero seguendo queste istruzioni:

  1. Esegui il server mysql. (Cambia la password adminin qualsiasi cosa tu voglia)

docker run -e MYSQL_ROOT_PASSWORD=admin --name mysql -d -p=3306:3306 mysql

  1. ottenere l'indirizzo IP della macchina virtuale docker predefinita eseguendo

docker-machine ip default

  1. Copia l'indirizzo IP che otterrai come risultato del comando precedente. (nel tuo caso, dovrebbe essere 192.168.99.100)
  2. Apri MySQL Workbench e crea una nuova connessione. Incolla l'indirizzo IP che hai copiato nel campo "Nome host".

Dovresti essere pronto adesso.


1

Il parametro -Plega le porte esportati di un contenitore automaticamente per porte disponibili dell'ospite.

Il comando seguente dovrebbe associare la porta dei contenitori 3306 alla porta 3306 dell'host. Vedi: Pubblica o esponi porta

docker run -d -p 3306:3306 mysql:latest mysqldb

Ho digitato la dichiarazione docker run -d -p 3306:3306 mysql:5.7.9 dbmysqle come output ho d38a0f208bcda50132d7f6f679c9282b0d90b275610b8d19ac93bf82d94eea43ma non riesco ancora ad accedere al contenitore mysql con mysql workbench. Quando ho digitato docker ps mi mostrad6b44992ec77 mysql:5.7.9 "/entrypoint.sh mysql" About a minute ago Up About a minute 3306/tcp dbmysql
zero_coding il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.