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

0

Я установил docker на свой mac. У меня есть контейнер MySQL, который работает на моем локальном компьютере (MAC).

Команда Docker ps дает мне ниже выходных данных -

CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS                 PORTS                     NAMES

b5c50b2d334a   test_mysql2    "docker-entrypoint.s…"    2 hours ago     Up 2 hours (healthy)   0.0.0.0:32783->3306/tcp   test_mysql2_1

Я знаю имя пользователя и пароль для mysql, который будет настроен в контейнере.

Я хочу подключиться к mysql и запустить некоторые запросы. Но я не могу понять, как подключиться к нему. Любая помощь будет оценена.

  • 0
    Вы пробовали docker exec -ti b5c50b2d334a bash для доступа через cli? Есть много способов его подключить.
  • 0
    Да, я смог войти в контейнер через это. Но не знал, как подключиться к MySQL дальше.
Теги:
docker
containers

2 ответа

0

Как вы можете видеть на выходе docker ps, порт 32783 (локальная машина) отображается на порт 3306 внутри контейнера докера. Если вы используете MySQL-клиент (например, MySQL Workbench), вы можете подключиться с помощью ip localhost и порта 32783. Если нет, вы должны пойти с docker exec а затем открыть интерактивную оболочку mysql внутри контейнера (как прокомментировал mulg0r).

0

Вы хотите подключиться к MySQL через Docker, если да; Пожалуйста, следуйте этой пошаговой процедуре, которую я использую.

Шаг 1: Вытяните изображение MySql из концентратора докеров. Следующая команда вытащит последнее изображение mysql.

cli> docker pull mysql

Шаг 2. Запустите контейнер с этого изображения. '-name дает имя контейнеру. '-e указывает переменные времени выполнения, которые необходимо установить. Задайте пароль для пользователя root root с помощью MYSQL_ROOT_PASSWORD. '-d сообщает, что докер запускает контейнер в фоновом режиме.

cli> docker run --name=testsql -e MYSQL_ROOT_PASSWORD=rukshani -d mysql 

Это выведет идентификатор контейнера; что означает, что контейнер правильно работает в фоновом режиме.

Шаг 3: Затем проверьте состояние контейнера, выполнив команду "docker ps"

cli> docker ps

Теперь вы должны уметь видеть, что MySQL работает на порту 3306.

Шаг 4: Для проверки журналов работающего контейнера используйте следующую команду

cli > docker logs testsql

Шаг 5: Найдите IP-адрес контейнера, используя следующий. Проверьте "IPAddress" на выходе, это сообщит вам IP-адрес.

cli> docker inspect testsql

Теперь вы должны иметь возможность подключиться к MySQL, используя IP-адрес tIPs на порт 3306.

Основываясь на том, что я понимаю из вашего вопроса, это то, что вам нужно. (Я надеюсь, что это так)

(Это не моя собственная документация, мне только нравится документировать все, что особенно важно для тех процедур, которые я не могу поставить себе в голову, так что, если когда-либо случится то же самое, или мне нужна такая же процедура в будущем, я не буду тратить свое время на снова, но вместо этого я открою свои заметки и запустим команды.)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню