627
文章
·
172725
阅读
·
✈V6站
欢迎访问
627
文章
·
172725
阅读
·
✈V6站
欢迎访问

有21人阅读过 在飞牛系统上,多个容器共用一个redis数据库
发布于2025/12/24 更新于2025/12/24
[ 教程仅保证更新时有效,请自行测试。]

装各种容器时候,你会发现多个容器都会用到redis数据库,使用compose构建后,会每个容器单独安装一个属于自己的redis,

那么我们只需要安装一个redis,使多个容器公用这一个redis,


首先创建一个redis专用的网络,

在网络页面-新增网络,填写网络名称,确定即可,这个网络名称后面要用。

image.png

使用一下compose 安装redis,注意修改网络名称为上面你创建的网络名称:

services:

  my-redis:

    image: redis:alpine

    container_name: my-redis  # 给容器一个固定名字,方便其他项目引用

    networks:

      - MyRedisNetwork

    volumes:

      - ./redis_data:/data

    # 可选:固定端口映射到宿主机,方便用工具连接查看

    ports:

      - '6379:6379'


networks:

  MyRedisNetwork:

    external: true  # 关键:声明使用外部已存在的网络


在安装其他容器时,环境变量中与以安装的redis进行关联,包括services中的networks和netwroks,多个容器共用时,用一样的设置即可:

services:

  moontv-core:

    image: ghcr.io/moontechlab/lunatv:latest

    container_name: moontv-core

    networks:

      - MyRedisNetwork  # 加入同一网络

    environment:

      - USERNAME=admin       # 注意:减号后必须是空格

      - PASSWORD=admin123

      - NEXT_PUBLIC_STORAGE_TYPE=redis

      - REDIS_URL=redis://my-redis:6379  # 通过容器名访问

    ports:

      - '3000:3000'


networks:

  shared-redis-network:

    external: true

    name: shared-redis-network  # 与创建的网络名称一致


注意: 这样做有一个问题,就是没有设置主容器depends on 容器redis,需要确定先启动redis,再启动主容器。

文章对你有帮助吗?
  • 一般[0]
  • 很赞[0]
  • 没用[0]
  • 垃圾[0]
  • 无语[0]

继续阅读:

扫一扫,手机浏览手机访问本站