Eu tenho um banco de dados postgress instalado em um contêiner do Docker chamado dbDocker. Este contêiner não está usando nenhuma das portas do servidor e a porta do contêiner para postgres 5342 só é visível em contêineres na mesma rede virtual. Desejo criar outro contêiner docker para permitir que usuários fora da rede entrem em contato com esse banco de dados. É possível fazer isso? Assim, este novo container aparecerá como aquele que possui o banco de dados.
Obrigado
Sim, o software sobre o qual você pergunta é chamado de proxy.
Você pode ter um contêiner que expõe uma porta. Quando alguém se conecta, ele se conecta em outro lugar e passa os dados de um lado para o outro, ficando como um homem no meio.
Na verdade, à medida que você expõe qualquer porta no docker (como
-p 3306:3306
), o docker executa internamente um proxy. Um muito pouco sofisticado, sem muita granularidade de acesso.Um exemplo de proxy mais avançado para seu cenário é o haproxy conteinerizado, configurado com
mode tcp
(pois postgress é incompatível commode http
).Outro exemplo é o temido proxy SOCKS.
Se eu entendi errado, e o que você precisa é apenas expor em 127.0.0.1, veja esta resposta .