我在使用红金刚驱动程序连接到redis时遇到了问题。这是我的docker-compose.yml文件:
version: "3"
services:
driver:
build: ./API-Golang
command: go run app.go
volumes:
- ./API-Golang:/app
ports:
- "8080:8080"
depends_on:
- db
- redis
links :
- redis
- db
redis:
image: redis
container_name: redis
ports: ["6379:6379"]
db:
image: mongo:3.4.2
container_name: mongodb
ports : ["27017:27017"]这就是我试图连接到redis的代码(API/database/allSystem.go):
redisConn := RedisHost{
Address: "localhost:6379",
Password: "",
DB: 0,
}
redisConnection, err := redisConn.Connect()
if err != nil {
panic(err)
}我试图将主机的localhost更改为redis,但仍然无法工作。以下是错误:
driver_1 | panic: dial tcp [::1]:6379: getsockopt: connection refused
driver_1 |
driver_1 | goroutine 1 [running]:
driver_1 | github.com/Gujarats/API-Golang/database.SystemConnection(0x48)
driver_1 | /go/src/github.com/Gujarats/API-Golang/database/allSystem.go:32 +0x3d3
driver_1 | main.main()
driver_1 | /go/src/github.com/Gujarats/API-Golang/app.go:24 +0x34
driver_1 | exit status 2你知道怎么回事吗?
发布于 2017-03-27 09:23:23
这太愚蠢了,我写了depends_on,不是为了解决这个问题,而是按照这样的顺序写的:
depends_on:
- redis
- db在此之前,我首先写的是db。并且不要忘记将主机更改为适当的名称,就像在docker-come.yml文件中一样。在本例中,redis = redis和mongodb = db。
我忘记了在app.go中,我首先调用redis,然后调用mongodb。
https://stackoverflow.com/questions/43039501
复制相似问题