自分のイメージを構築するのではなく、goイメージをプルしているように見えます。
image: golang:1.7
の代わりに build: .
に置き換えてください Dockerfile
をビルドして使用するには 。
また、postgres環境変数DB_HOST
を渡す必要がある場合もあります。 、DB_USER
、DB_PASS
など、それを達成できますが、たとえばdocker.env
を作成します ファイルを作成してから、env_file
を追加します goアプリの下でdocker-compose.yml
ファイル:
docker.envの例:
DB_HOST=postgres
DB_USER=user
DB_PASS=pass
DB_NAME=mydb
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"