PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Não é possível conectar-se ao contêiner do docker Postgres do contêiner Golang


Parece que você está puxando a imagem em vez de construir sua própria imagem.

Em vez de image: golang:1.7 substitua-o por build: . para construir e usar seu Dockerfile .

Além disso, você pode precisar passar variáveis ​​de ambiente postgres DB_HOST , DB_USER , DB_PASS etc. você pode conseguir isso, mas criando, por exemplo, docker.env arquivo e, em seguida, adicione env_file sob seu aplicativo go docker-compose.yml Arquivo:

Exemplo docker.env :
DB_HOST=postgres
DB_USER=user
DB_PASS=pass
DB_NAME=mydb

Corrigido docker-compose.yml :
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"