Я установил 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 и запустить некоторые запросы. Но я не могу понять, как подключиться к нему. Любая помощь будет оценена.
Как вы можете видеть на выходе docker ps
, порт 32783
(локальная машина) отображается на порт 3306
внутри контейнера докера. Если вы используете MySQL-клиент (например, MySQL Workbench), вы можете подключиться с помощью ip localhost
и порта 32783
. Если нет, вы должны пойти с docker exec
а затем открыть интерактивную оболочку mysql внутри контейнера (как прокомментировал mulg0r).
Вы хотите подключиться к 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.
Основываясь на том, что я понимаю из вашего вопроса, это то, что вам нужно. (Я надеюсь, что это так)
(Это не моя собственная документация, мне только нравится документировать все, что особенно важно для тех процедур, которые я не могу поставить себе в голову, так что, если когда-либо случится то же самое, или мне нужна такая же процедура в будущем, я не буду тратить свое время на снова, но вместо этого я открою свои заметки и запустим команды.)
docker exec -ti b5c50b2d334a bash
для доступа через cli? Есть много способов его подключить.