Как соединиться с удалённым хостом из докер-контейнера? Есть хост машина с IP 192.168.58.132, есть в сети ещё одна машина с IP 192.168.58.233.
На первой подняты докер контейнеры mysql+nginx+php и network bridge, subnet 10.100.0.0/24
На второй установлен mysql
Как достучаться из контейнера mysql на IP 192.168.58.233:3306?

21 Авг 2019 в 06:37
210 +1
1
Ответы
1

Для того чтобы достучаться из контейнера mysql на IP 192.168.58.233:3306, нужно сначала создать сеть docker, подключить к ней контейнер mysql и прописать маршрутизацию.

Шаги, которые нужно выполнить:

Создать сеть docker с нужным subnet:

docker network create --subnet=10.100.0.0/24 mynetwork

Запустить контейнер mysql и подключить его к созданной сети:

docker run --name mysql-container --network mynetwork -d mysql

Добавить маршрут к IP 192.168.58.233 через хост машину (192.168.58.132):

route add -net 192.168.58.233/32 gw 192.168.58.132

Теперь можно попробовать подключиться к удаленному хосту из контейнера mysql:

mysql -h 192.168.58.233 -u username -p

Обратите внимание, что на хост машине (192.168.58.132) должен быть настроен IP forwarding, чтобы позволить пакетам проходить через себя.

20 Апр 2024 в 13:15
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир