Подключите MySQL верстак с MySQL контейнером

9

Я вытащил MySQL контейнер из Dockerhub, и он работает на моем MacBook Pro, как вы можете видеть следующим образом

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

Затем я загрузил рабочую среду MySQL и попытался соединить ее с контейнером MySQL, но он не работает. Это показывает ошибку соединения.

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)

IP с докера есть

docker-machine ip default
192.168.99.100

и порт из MySQL 3306, как вы можете видеть выше.

Чтобы экспортировать порт MySQL, я попытался с заявлением

docker run -d -P mysql:latest mysqldb

Это не работает вообще. Что я делаю неправильно?

zero_coding
источник

Ответы:

9

Похоже, вы запустили контейнер без установки -p 3306:3306параметра. Кроме того, кажется, что вы неправильно набрали IP-адрес имени хоста в MySQL Workbench. Я рекомендую начинать с нуля, следуя этим инструкциям:

  1. Запустите сервер MySQL. (Измените пароль adminна что угодно)

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

  1. получить IP-адрес виртуальной машины докера по умолчанию, запустив

docker-machine ip default

  1. Скопируйте IP-адрес, который вы получите в результате предыдущей команды. (в вашем случае это должно быть 192.168.99.100)
  2. Откройте MySQL Workbench и создайте новое соединение. Вставьте скопированный IP-адрес в поле «Имя хоста».

Вы должны быть все готово сейчас.

Fikra
источник
1

Параметр автоматически-P связывает экспортируемые порты контейнера с доступными портами хоста.

Следующая команда должна привязать порт 3306 контейнеров к порту 3306 хоста. Смотрите: Опубликовать или выставить порт

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

источник
Я набрал оператор docker run -d -p 3306:3306 mysql:5.7.9 dbmysqlи в качестве вывода получил, d38a0f208bcda50132d7f6f679c9282b0d90b275610b8d19ac93bf82d94eea43но все еще не могу получить доступ к контейнеру MySQL с помощью MySQL Workbench. Когда я набрал Docker PS, он показывает мнеd6b44992ec77 mysql:5.7.9 "/entrypoint.sh mysql" About a minute ago Up About a minute 3306/tcp dbmysql
zero_coding