sql >> Databasteknik >  >> RDS >> PostgreSQL

Det går inte att ansluta till Postgres docker container från Golang container

Det verkar som att du drar igång en bild istället för att bygga din egen image.

Istället för image: golang:1.7 ersätt den med build: . för att bygga och använda din Dockerfile .

Du kan också behöva skicka postgres miljövariabler DB_HOST , DB_USER , DB_PASS etc. du kan uppnå det men skapa till exempel docker.env fil och lägg sedan till env_file under din go-app docker-compose.yml fil:

Exempel docker.env :

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

Korrigerad 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"


  1. MySQL-servern har försvunnit med Ruby on Rails

  2. Android :Hur man går med i barnbordet med föräldrabordet Sqlite

  3. php mysql ordning efter tidsstämpel är felaktig

  4. PHP 7 kan inte hitta MySQLi