go项目容器化,依赖的redis怎么都连不上

colinshin · 2023-07-04 17:36:36 · 1195 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2023-07-04 17:36:36 的主题,其中的信息可能已经有所发展或是发生改变。

go 项目容器化,依赖redis,项目的redis怎么配置啊?我的redis host写docker-compose.yaml文件中 redis的名称,也配置了network,定时服务能起来并运行了,结果redis里面没有写入数据?

这是项目的redis配置

[redis]
host = 'redis'
port = 6379
password = ''
network = 'main'

下面的是docker-compose.yaml

version: '2.0'

services:
  redis:
    image: 'redis:6'
    ports:
      - '6379:6379'
    networks:
      - main
    container_name: miracle-redis
  goapp:
    build:
      context: ./lightning
      dockerfile: Dockerfile
    container_name: lightning
    expose:
      - "8080"
    ports:
      - "8080:8080"
    environment:
      TZ: "Asia/Shanghai"
    volumes:
      - /root/flyme/lightning:/app
    depends_on:
      - redis
    restart: on-failure
networks:
  main:

redis 连接客户端代码

import (
    "fmt"
    "github.com/go-redis/redis/v8"
    probing "github.com/prometheus-community/pro-bing"
    "lightning/setting"
    "regexp"
    "strconv"
)

var RedisClient = redis.NewClient(&redis.Options{
    Addr:     setting.Config.Redis.Host + ":" + strconv.Itoa(setting.Config.Redis.Port),
    Password: setting.Config.Redis.Password,
    DB:       8,
    Network:  setting.Config.Redis.Network,
})

var RedisStorageClient = redis.NewClient(&redis.Options{
    Addr:     setting.Config.Redis.Host + ":" + strconv.Itoa(setting.Config.Redis.Port),
    Password: setting.Config.Redis.Password,
    DB:       3,
    Network:  setting.Config.Redis.Network,
})

找了好久没找到问题,我的Python项目中,redis host配置直接使用redis就可以了,也不用配置network,求指导


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1195 次点击  
加入收藏 微博
1 回复  |  直到 2023-07-05 10:47:18
colinshin
colinshin · #1 · 2年之前

问题解决了,谢谢群里的大佬,docker-compose.yaml中goapp没有设置网络

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传