PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Impossible de se connecter au conteneur Docker Postgres à partir du conteneur Golang

On dirait que vous tirez une image go au lieu de créer votre propre image.

Au lieu de image: golang:1.7 remplacez-le par build: . pour construire et utiliser votre Dockerfile .

Vous devrez peut-être également passer les variables d'environnement postgres DB_HOST , DB_USER , DB_PASS etc. vous pouvez y parvenir mais en créant par exemple docker.env fichier puis ajoutez env_file sous votre application go docker-compose.yml fichier :

Exemple docker.env :

DB_HOST=postgres
DB_USER=user
DB_PASS=pass
DB_NAME=mydb

Docker-compose.yml corrigé :

version: '2'
services:
    app:
        build: .
        volumes:
          - ./:/server/http
        ports:
            - "80:8080"
        links:
            - postgres
            - mongodb
            - redis
        environment:
            DEBUG: 'true'
            PORT: '8080'
        env_file: 
          - docker.env

    postgres:
        image: onjin/alpine-postgres:9.5
        restart: unless-stopped
        ports:
            - "5432:5432"
        environment:
            LC_ALL: C.UTF-8
            POSTGRES_USER: user
            POSTGRES_PASSWORD: pass
            POSTGRES_DB: mydb

    mongodb:
        image: mvertes/alpine-mongo:3.2.3
        restart: unless-stopped
        ports:
            - "27017:27017"

    redis:
        image: sickp/alpine-redis:3.2.2
        restart: unless-stopped
        ports:
            - "6379:6379"