@lambdahhh

Как подключится из docker контейнера с mysql на хосте?

В докере поднята связка nginx + php, на хост машине есть БД mysql
Мне нужно из докера подключится к БД на хосте

В БД один юзер root с указанным хостом localhost

Указываю при подключении root@localhost с портом 3306 ответ - An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory (я так понимаю он ищет базу в контейнере)

Указываю ip адрес компа - отказ по таймауту
Указываю внутренний ip адрес компа - An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused

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

Какие есть подходы к решению этой проблемы?

Весь интернет забил инструкциями как подключится к БД, которая находится в контейнере...
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov
Системный администратор
Заставь MySQL слушать на всех интерфейсах.
Добавь пользователя с хостом равном IP шлюза в контейнере.
Подключайся из контейнера к MySQL использкй IP шлюза.

Есть ещё плохой вариант - указать network: host

PS
Информация к размышлению: как подключиться к базе из контейнера если она на другом сервере?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы