/ / Como eu uso o DataGrip para acessar uma instância do PostgreSQL por trás de uma rede virtual do Docker? - postgresql, docker, docker-compose

Como eu uso o DataGrip para acessar uma instância do PostgreSQL por trás de uma rede virtual do Docker? - postgresql, docker, docker-compose

Eu tenho microservices de base de dados dockerized. Eu posso executar consultas manuais usando o seguinte:

$ ssh user@foo.domain.com
$ docker exec -it postgres bash
docker$ psql -U postgres -h 127.0.0.1 -d postgres

Todos os serviços da web conversam entre si usando uma rede virtual interligada do Docker batman.

networks:
batman:
driver: bridge

Em alinhamento com as práticas recomendadas de segurança do PostgreSQL - eu não exponha a porta 5432 do PostgreSQL à máquina host em foo.domain.com. Somente os contêineres irmãos que também estão na rede "batman" Docker podem se conectar ao banco de dados.

Em uma configuração tradicional do DataGrip / PostgreSQL, eu faria ssh na caixa hospedada onde o PostgreSQL é servido, e usaria um cliente PostgreSQL local (regras de: pg_hba.conf).

Um sistema Dockerized requer uma etapa adicional (exec).

Como o DataGrip não parece permitir comandos de conexão prefixados, como eu uso o DataGrip para acessar uma instância do PostgreSQL por trás de uma rede virtual do Docker?

Respostas:

-2 para resposta № 1

Eu acho que isso deveria ser possível:

  • Adicione um container simples com um servidor SSH no mesmo (batman) rede
  • Configure sua conexão via túnel SSH: Captura de tela da opção de túnel SSH / SSL
  • Configure sua conexão como se estivesse na rede (para que o host seja postgres AFAIR)