Как перебросить порт с IP внутри сети на порт localhost?
Собственно в Docker запущенно несколько контейнеров, есть 3 раздельных контейнера с db, и доступ к ним возможен внутри сети использую в качестве хоста имя контейнера, скажем `mysql:3306` имя хоста статическое а IP может меняться, собственно вопрос как (если можно) перебросить порт с хоста на локальный что бы я мог обращаться к `mysql:3306` через `localhost:3306` и `127.0.0.1:3306`?
Что то на подобии ```ssh user@domain.com -L 3306:127.0.0.1:3306``` но для внутренней сети?
Karmashkin: это то же нет, таким образом вы просто привязываете порт контейнера к IP/localhost, машины на которой запущен докер, а не внутрь localhost сети в которой работают контейнеры
Почитайте о типе сети host network в докере и даже прокидывать ни чего не придется, порт будет слушаться на интерфейсах хост системы. Если коннект ожидается только на локалхосте, то ограничте порт фаерволом.
нет тип сети host не подходит, в этом случае сеть будет общей у каждого контейнера с localhost линукс машины на которой запущен докер. Это бы работало если бы мы использовали одну машину для запуска одного проекта через docer-compose, но в этом случае теряются большая часть преумества докера. А если использовать bridge то каждый докер кантейнер бубет запущен внутри одной виртуальной сети, вот то что мне нужно это общий доступ к открытым портам внутри этой сети через localhost
Sarkis Arutiunian: если быть точнее каждый контейнер будет запущен внутри одной вертуальной сети которую мы задаем через docker-compose вот об этой сети речь. с режимом host все преимущество контейнеризации теряется и каждый отдельный докер контейнер по сути просто расширает и использует возможности локальной машины на которой они запущены