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 zuDockerfile
s 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