小编Con*_*olt的帖子

使用 docker-compose 时如何从 golang 应用程序连接到 postgres?

我的 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
Run Code Online (Sandbox Code Playgroud)

和我的 bot.go,我尝试连接的地方

db, err = sql.Open("postgres", "user=user password=password host=db dbname=db port=5432 sslmode=verify-full ")
Run Code Online (Sandbox Code Playgroud)

当我打开我的容器时,我看到错误:

panic: dial tcp 5.61.14.99:5432: getsockopt: connection refused
Run Code Online (Sandbox Code Playgroud)

我更改了 5432 上的端口并尝试像这样连接:

db, err = sql.Open("postgres", "postgres://user:password@db/db")
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误

我的 docker-compose 设置有什么问题?

postgresql go docker-compose

2
推荐指数
1
解决办法
6487
查看次数

标签 统计

docker-compose ×1

go ×1

postgresql ×1