首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图使用docker组合文件连接redis时,拒绝连接

当试图使用docker组合文件连接redis时,拒绝连接
EN

Stack Overflow用户
提问于 2017-03-27 06:42:50
回答 2查看 2K关注 0票数 1

我在使用红金刚驱动程序连接到redis时遇到了问题。这是我的docker-compose.yml文件:

代码语言:javascript
复制
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):

代码语言:javascript
复制
redisConn := RedisHost{
    Address:  "localhost:6379",
    Password: "",
    DB:       0,
}

redisConnection, err := redisConn.Connect()
if err != nil {
    panic(err)
}

我试图将主机的localhost更改为redis,但仍然无法工作。以下是错误:

代码语言:javascript
复制
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

你知道怎么回事吗?

源代码

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-27 09:23:23

这太愚蠢了,我写了depends_on,不是为了解决这个问题,而是按照这样的顺序写的:

代码语言:javascript
复制
depends_on:
  - redis
  - db

在此之前,我首先写的是db。并且不要忘记将主机更改为适当的名称,就像在docker-come.yml文件中一样。在本例中,redis = redis和mongodb = db

我忘记了在app.go中,我首先调用redis,然后调用mongodb。

票数 0
EN

Stack Overflow用户

发布于 2017-03-27 07:53:18

在使用depends_on时,需要注意以下几点:

  • depends_on不会等到db和redis在启动web之前“准备好”,直到它们已经启动。如果您需要等待服务准备就绪,请参阅控制启动顺序获取有关此问题的更多信息和解决该问题的策略。
    • 第3版不再支持depends_on的条件形式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43039501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档