Como conectar o contêiner de aplicativo da web do Docker ao contêiner do Docker PostgreSQL?
Estou praticando a criação de um aplicativo Web Golang que interaja com um banco de dados PostgreSQL, cada um rodando em seu próprio contêiner.
Estou executando os contêineres comdocker-compose up
Mas parece que estou falhando ao configurar corretamente o contêiner do postgres.
Por uma questão de brevidade, os links paraDockerfile
se outros arquivos de configuraçõesnesta essência (deixe-me saber se você deseja aqui).
version: '2'
services:
web_app:
build: dockerfiles/web_app
ports:
- "9000:9000"
volumes:
- .:/go/src/gitlab.com/repo/web_app
# links might be replaced by depends_on.
# links:
# - db
depends_on:
- db
# tty and stdin_open cause docker-compose to disconnect from docker-machine after 60sec.
# A fix is on the way.
# tty: true
# stdin_open: true
db:
build: dockerfiles/db
volumes:
- data:/var/lib/postgresql/data
volumes:
data: {}
docker-compose up
funciona bem. Mas quando o aplicativo tenta abrir uma conexão com o banco de dados com:
var pgConf string = "user=web_app dbname=web_app sslmode=verify-full password=password"
db, err := sql.Open("postgres", pgConf)
Eu recebo o seguinte erro da janela de encaixe compor:
Error creating new user: dial tcp [::1]:5432: getsockopt: connection refused
O que posso fazer para que os dois contêineres se comuniquem?
Agradeço antecipadamente.