【发布时间】:2018-03-18 01:02:50
【问题描述】:
我的 docker-compose 文件
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:password@db/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:password@db/db")
但我得到了同样的错误
我的 docker-compose 设置有什么问题?
【问题讨论】:
-
谢谢,我在 bot.go 中更改了代码,使用了 os.Getenv("CONNECTION_STRING_DEV"),但它并没有解决我的问题
-
os.Getenv("CONNECTION_STRING_DEV")的值是多少? -
你试过不使用 ssl 吗?
postgres://user:password@db/db?sslmode=disable或user=user password=password host=db dbname=db port=5432 sslmode=disable. -
是的,我试过了。我想,我尝试了所有变体))
-
我认为你需要一座桥? stackoverflow.com/questions/43754095/…
标签: postgresql go docker-compose