我正在尝试使用 Postgres 为 golang 应用程序设置一个 docker。如果我删除/注释 Postgres,go 应用程序在容器中可以正常工作。同样,我可以启动 Postgres 容器并登录它。我能够进行 docker-compose up 。但是当我进行 API 调用时,例如:localhost:3000/api/admin/users. 它给出了错误:
error: {
"error": "+dial tcp 127.0.0.1:5432: connect: connection refused"
}
Postgres连接字符串是这样的:
connStr := fmt.Sprintf("host=postgres user=anurag password=anu_12345 dbname=bankingapp sslmode=disable")
db, err := sql.Open("postgres", connStr)
Dockerfile
FROM golang:1.13
WORKDIR /go/src/banking-app
COPY . .
RUN go get -d -v ./...
RUN go install -v ./...
CMD ["go" , "run", "main.go"]
docker-compose.yml
version: '3'
services:
web:
build: .
ports:
- "3000:3000"
postgres:
image: "postgres"
environment:
POSTGRES_USER: 'anurag'
POSTGRES_PASSWORD: 'anu_12345'
POSTGRES_DB: 'bankingapp'
慕哥6287543
慕村225694
相关分类