doudu161481
2017-03-27 06:42
采纳率: 100%
浏览 1.5k

尝试使用docker compose文件连接Redis时连接被拒绝

我在尝试使用redis-golang驱动程序连接到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-Golang/数据库/allSystem.go)的代码:

redisConn := RedisHost{
    Address:  "localhost:6379",
    Password: "",
    DB:       0,
}

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

我试图改变 localhostredis 但它还是不管用。错误如下:

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

你知道哪里出错了吗?

源代码

图片转代码服务由CSDN问答提供 功能建议

我尝试使用 redis-golang 驱动程序。 这是我的 docker-compose.yml 文件:

  版本:“ 3” 
 
服务:
驱动程序:
构建:./ API-Golang 
命令:运行app.go 
卷:
-./API-Golang:/app  
端口:
-“ 8080:8080” 
depends_on:
-db 
-redis 
链接:
-redis 
-db 
 redis:
图像:redis 
 container_name:redis  
端口:[“ 6379:6379”] 
数据库:
图片:mongo:3.4.2 
 container_name:mongodb 
端口:[“ 27017:27017”] 
    
 
 

,这是我尝试连接到Redis的代码(API-Golang / database / allSystem.go):

  redisConn:= RedisHost {\  n地址:“ localhost:6379”,
密码:“”,
 DB:0,
} 
 
redisConnection,err:= redisConn.Connect()
if err!= nil {
 panic(err  )\ N} 
   
 
 

我已尝试将主机的 localhost 更改为 redis ,但仍然无法正常运行。 这是错误:

  driver_1 | 紧急:拨打tcp [:: 1]:6379:getsockopt:拒绝连接
driver_1 |  
driver_1 |  goroutine 1 [正在运行]:
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 | 退出状态2 
   
 
 

有什么问题吗?

源代码

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dongnaopa6200 2017-03-27 09:23
    已采纳

    This is stupid I wrote the depends_on not in order I fix the issue writing the order like this :

    depends_on:
      - redis
      - db
    

    Before this I wrote it dbfirst. and do not forget to change the host to appropriate name just like in the docker-compose.yml file. In this case is redis = redis and mongodb = db.

    I forget that in app.go I call redis first then mongodb.

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题