Получение доступа к базе данных в док-контейнере на ВМ - PullRequest
0 голосов
/ 04 ноября 2018

Я работаю на ПК под Windows 7 x64.

Я установил OracleVM, затем установил там Ubuntu 18.04. В Ubuntu я установил Docker, создал и запустил среду с PHP, Nginx и MariaDB, и мне удалось настроить там сайт Drupal 8. Все работает успешно, и мне удалось получить доступ к сайту из браузера на моем ПК с Windows. Я настроил это, используя отображение портов в настройках ВМ.

Но я не знаю, как получить доступ к моей базе данных в этом контейнере из Windows-клиента, например, из HeidiSQL. Сопоставление портов не помогает мне, к сожалению.

Вот список моих контейнеров

example3_project_adminer     /entrypoint.sh php -S 0.0. ...   Up      9000/tcp            
example3_project_mailhog     MailHog                          Up      1025/tcp, 8025/tcp  
example3_project_mariadb     /docker-entrypoint.sh mysqld     Up      3306/tcp            
example3_project_nginx       /docker-entrypoint.sh sudo ...   Up      80/tcp              
example3_project_php         /docker-entrypoint.sh sudo ...   Up      9000/tcp            
example3_project_portainer   /portainer --no-auth -H un ...   Up      9000/tcp            
example3_project_traefik     /traefik -c /dev/null --we ...   Up      0.0.0.0:8000->80/tcp

Не могли бы вы уточнить меня, как это сделать?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Мне удалось это сделать. Сначала я добавил переадресацию портов в конфигурации моего контейнера mariadb.

the mariadb configuration

Я выполнил следующие команды Docker

docker-compose stop
docker-compose up -d

позже я добавил новое правило в правила перенаправления портов VM

VM port forwarding rules

Теперь я могу подключиться к базе данных из моей клиентской программы Windows

0 голосов
/ 04 ноября 2018

Невозможно с уверенностью ответить без минимального поддающегося проверке примера вашей проблемы, такого как вызов докера в этом случае. Но я предполагаю, что вы не открываете порт MariaDB для операционной системы докера (Ubuntu 18.04).

Посмотрите, как работает nginx, поскольку это ясно видно, и убедитесь, что ваш mariadb контейнер работает аналогично (вероятно, с портом 3306 порт mysql / mariadb).

Как только вы сможете подключиться с компьютера с Ubuntu, вы сможете по очереди подключить порт через Oracle VM.

...