У меня есть база данных postgress, установленная в контейнере Docker под названием dbDocker. Этот контейнер не использует ни один из портов сервера, а порт контейнера для postgres 5342 виден только из контейнеров в той же виртуальной сети. Я хочу создать еще один контейнер докеров, чтобы позволить пользователям вне сети связываться с этой базой данных. Можно ли это сделать? Таким образом, этот новый контейнер будет отображаться как контейнер с базой данных.
Спасибо
Да, программное обеспечение, о котором вы спрашиваете, называется прокси.
У вас может быть контейнер, открывающий порт. Когда кто-то подключается, он подключается где-то еще и передает данные туда-сюда, оставаясь человеком посередине.
Фактически, когда вы открываете любой порт в докере (например, -p 3306: 3306
), докер запускает внутренний прокси. Очень простой, без особой детализации доступа.
Примером более продвинутого прокси для вашего сценария является контейнерный haproxy, настроенный с режимом tcp
(поскольку постпрогресс несовместим с режимом http
]).
Другой пример - ужасный прокси-сервер SOCKS.
Если я вас не понял, и вам нужно только просто открыть на 127.0.0.1, тогда посмотрите этот ответ .