Підключіть робочий стіл 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

Це зовсім не працює. Що я роблю неправильно?

Відповіді:


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 за замовчуванням, запустивши

docker-machine ip default

  1. Скопіюйте IP-адресу, яку ви отримаєте в результаті попередньої команди. (у вашому випадку це має бути 192.168.99.100)
  2. Відкрийте MySQL Workbench та створіть нове з'єднання. Вставте IP-адресу, яку ви скопіювали, у поле "Ім'я хоста".

Ви повинні бути налаштовані зараз.


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. Коли я набирав docker ps, це показує меніd6b44992ec77 mysql:5.7.9 "/entrypoint.sh mysql" About a minute ago Up About a minute 3306/tcp dbmysql
zero_coding
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.