sql >> Base de Datos >  >> RDS >> PostgreSQL

No se puede conectar al contenedor docker de Postgres desde el contenedor Golang

Parece que estás tirando de la imagen en lugar de construir tu propia imagen.

En lugar de image: golang:1.7 reemplácelo con build: . para construir y usar su Dockerfile .

También es posible que deba pasar las variables de entorno de Postgres DB_HOST , DB_USER , DB_PASS etc. puede lograr eso pero creando, por ejemplo, docker.env archivo y luego agregue env_file debajo de su aplicación go docker-compose.yml archivo:

Ejemplo docker.env:

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

Docker-compose.yml corregido:

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"