¿Cómo conectar el contenedor de la aplicación web Docker al contenedor Docker PostgreSQL?

Estoy practicando la creación de una aplicación web Golang que interactúa con una base de datos PostgreSQL, cada una se ejecuta en su propio contenedor.

Estoy corriendo los contenedores condocker-compose up

Pero parece que no estoy logrando configurar correctamente el contenedor de postgres.

Por brevedad, enlaces aDockerfilesy otros archivos de configuración sonen esta esencia (avísame si lo quieres aquí).

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 bien. Pero cuando la aplicación intenta abrir una conexión de base de datos con:

var pgConf string = "user=web_app dbname=web_app sslmode=verify-full password=password"

db, err := sql.Open("postgres", pgConf)

Recibo el siguiente error de Docker compose:

Error creating new user:  dial tcp [::1]:5432: getsockopt: connection refused

¿Qué puedo hacer para que ambos contenedores se comuniquen entre sí?

Gracias de antemano.

Respuestas a la pregunta(1)

Su respuesta a la pregunta