我的搬運工,撰寫文件如何使用docker-compose從golang應用連接到postgres?
version: "2"
services: db:
restart: always
image: postgres:latest
ports:
- "5435:5432"
environment:
POSTGRES_PASSWORD: password
POSTGRES_USER: user
POSTGRES_DB: db adminer:
web:
image: golang:1.7
working_dir: /go/src/app
command: go run bot.go
ports:
- "3000:3000"
volumes:
- ./bot:/go/src/app
links:
- db
environment:
PORT: 3000
CONNECTION_STRING_DEV: postgres://user:[email protected]/db
和我bot.go,在那裏我嘗試連接
db, err = sql.Open("postgres", "user=user password=password host=db dbname=db port=5432 sslmode=verify-full ")
當我把我的容器,我看到錯誤:
panic: dial tcp 5.61.14.99:5432: getsockopt: connection refused
我改變了5432上的端口並嘗試像這樣連接:
db, err = sql.Open("postgres", "postgres://user:[email protected]/db")
但我得到相同的錯誤
我的docker-compose設置有什麼問題?
謝謝,我更改了bot.go中的代碼,使用os.Getenv(「CONNECTION_STRING_DEV」),但它沒有解決我的問題 – ConorHolt
os.Getenv(「CONNECTION_STRING_DEV」)的值是什麼? – mkopriva
你嘗試過沒有ssl嗎? 'postgres:// user:password @ db/db?sslmode = disable'或'user = user password = password host = db dbname = db port = 5432 sslmode = disable'。 – mkopriva