Wie verbinde ich den Docker Web App Container mit dem Docker PostgreSQL Container?

Ich übe, eine Golang-Web-App zu erstellen, die mit einer PostgreSQL-Datenbank interagiert, die jeweils auf einem eigenen Container ausgeführt wird.

Ich leite die Container mitdocker-compose up

Aber ich scheine nicht in der Lage zu sein, den Postgres-Container richtig einzurichten.

Der Kürze halber Links zuDockerfiles und andere Einstellungsdateien sindauf diesem gist (lass es mich wissen, wenn du es stattdessen hier haben willst).

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 funktioniert gut. Aber wenn die Anwendung versucht, eine Datenbankverbindung zu öffnen, mit:

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

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

Ich erhalte die folgende Fehlermeldung von Docker Compose:

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

Was kann ich tun, damit beide Container miteinander kommunizieren?

Danke im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage