Докер - не удается подключиться к удаленной БД - PullRequest
0 голосов
/ 04 июня 2018

Я использую Docker для Windows.У меня есть несколько контейнеров (dev-httpd, dev-mysql и т. Д.). Я пытаюсь загрузить базу данных с удаленного компьютера (скопируйте ее в мой контейнер dev-mysql), и я не могу подключиться к этой базе данных из докера .Когда я запускаю какой-либо инструмент базы данных (например, Adminer) через xampp и вставляю значения из команды SQL с логином и паролем , я могу подключиться к нему (я вижу базы данных, вижу данные, ...).

Нужно ли каким-либо образом устанавливать правило брандмауэра на виртуальной док-машине, чтобы разрешить удаленную базу данных?

Я запускаю докер при запуске окна, затем использую docker-compose up-d (запускает все нужные мне контейнеры), а затем я вхожу в систему с помощью команды docker exec -ti dev-httpd bash .

Кто-нибудь знает, в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Проблема с localhost и 0.0.0.0

Localhost позволяет вам получить доступ к порту только с этого компьютера, а использование 0.0.0.0 позволит ему быть видимым снаружи.Или просто используйте свой IP вместо стандартного.

0 голосов
/ 04 июня 2018

Я думаю, ваша база данных недоступна с публичным IP-адресом или публичным именем хоста.Внутри вашего контейнера вы можете получить доступ только к общедоступным IP-адресам или именам хостов, потому что по умолчанию ваш контейнер не будет знать о конфигурации вашей локальной сети.

Я думаю, что вы будете более успешны, используя хостовая сеть с опцией --network host запуска Docker.Смотри (https://docs.docker.com/network/host/)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...