Alguém tem alguma ideia do por que isso não está funcionando, por favor?
Segui alguns dos posts de @pfaffman e @Nacho_Caballero neste tópico: How to make the database (or part of it) accessible to a cloud data processor? e o post de @mpalmer neste: Accessing to the database from outside the container - #4 by mpalmer.
Primeiro, editei o app.yml com:
expose:
- "127.0.0.2:5432:5432"
Reconstruí o container. Dentro do container, defini uma senha para o usuário postgres e consegui conectar com o seguinte comando de dentro do container:
psql -h localhost -d discourse -U postgres
No entanto, quando saio do container e tento conectar, recebo:
# psql -h 127.0.0.2 -p 5432 -d discourse -U postgres
psql: server closed the connection unexpectedly
Isso provavelmente significa que o servidor terminou de forma anormal
antes ou durante o processamento da solicitação.
Também tentei alterar a porta para outra, mas recebo o mesmo erro. Obtive o IP 127 do docker ps e inspecionando as Configurações de Rede (tenho três instâncias independentes do Discourse em execução).
Se eu alterar o IP (para o de um dos outros fóruns Discourse), recebo uma resposta/mensagem diferente (mais imediata), então o acima parece estar parcialmente correto:
# psql -h 127.0.0.3 -p 5432 -d discourse -U postgres
psql: could not connect to server: Connection refused
O servidor está rodando no host "127.0.0.3" e aceitando
conexões TCP/IP na porta 5432?
Alguma ideia do que estou fazendo de errado? Pesquisar no Google por psql: server closed the connection unexpectedly parece sugerir um problema de rede — então preciso alterar algo mais dentro do container?