sql >> Databáze >  >> RDS >> PostgreSQL

Nelze se připojit k dokovacímu kontejneru Postgres z kontejneru Golang

Vypadá to, že místo toho, abyste si vytvářeli vlastní image, vytváříte obrázek.

Místo image: golang:1.7 nahraďte jej výrazem build: . k vytvoření a použití vašeho Dockerfile .

Možná budete muset předat proměnné prostředí postgres DB_HOST , DB_USER , DB_PASS atd. toho můžete dosáhnout, ale vytvořením například docker.env soubor a poté přidejte env_file pod vaší go aplikací docker-compose.yml soubor:

Příklad docker.env :

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

Opraven 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. PHP ORA-01745:neplatný název proměnné hostitele/vazby Varování

  2. MySql sečte prvky sloupce

  3. MySQL - PŘIPOJTE SE a NEBO b

  4. ORA-21700:objekt neexistuje nebo je označen k odstranění pro Asociativní pole jako vstupní parametr volaný z ODP.NET