为了账号安全,请及时绑定邮箱和手机立即绑定

如何让 docker-compose 容器看到 Redis 主机?

如何让 docker-compose 容器看到 Redis 主机?

Go
萧十郎 2022-12-19 19:22:33
我有这个简单的docker-compose.yml文件:version: '3.8'services:  bot:    build:      dockerfile: Dockerfile      context: .    links:      - redis    depends_on:      - redis  redis:    image: redis:7.0.0-alpine    ports:     - "6379:6379"    environment:     - REDIS_REPLICATION_MODE=master    restart: always    volumes:       - cache:/data    command: redis-servervolumes:  cache:    driver: local这就是bot(在 Go 中)连接到的方式redis:import "github.com/go-redis/redis/v8"func setRedisClient() {  rdb = redis.NewClient(&redis.Options{    Addr:     "redis:6379",    Password: "",    DB:       0,  })}bot文件:FROM golang:1.18.3-alpine3.16WORKDIR /go/src/bot-goCOPY . .RUN go build .RUN ./bot-go但是当我跑步时,docker-compose up --build我总是得到:panic: dial tcp: lookup redis on 192.168.65.5:53: no such hostredis无论我对主机或docker-compose文件进行什么更改,都不会看到主机。当我将客户端配置为本地时,该应用程序在没有 Docker 的情况下也能正常工作。我到底做错了什么?
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

问题是 bot-go 图像永远不会停止构建。在 Dockerfile 中更改RUN ./bot-go为,一切都会正常工作。CMD [ "./bot-go" ]



查看完整回答
反对 回复 2022-12-19
  • 1 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号