Как соединиться с удалённым хостом из докер-контейнера? Есть хост машина с 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?
Для того чтобы достучаться из контейнера mysql на IP 192.168.58.233:3306, нужно сначала создать сеть docker, подключить к ней контейнер mysql и прописать маршрутизацию.
Для того чтобы достучаться из контейнера 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, чтобы позволить пакетам проходить через себя.