有21人阅读过
在飞牛系统上,多个容器共用一个redis数据库
发布于2025/12/24 更新于2025/12/24
[ 教程仅保证更新时有效,请自行测试。]
[ 教程仅保证更新时有效,请自行测试。]
装各种容器时候,你会发现多个容器都会用到redis数据库,使用compose构建后,会每个容器单独安装一个属于自己的redis,
那么我们只需要安装一个redis,使多个容器公用这一个redis,
首先创建一个redis专用的网络,
在网络页面-新增网络,填写网络名称,确定即可,这个网络名称后面要用。
使用一下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]



