本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Redis® Sentinel 是 Redis 的高可用性解决方案,提供监控、通知、自动故障转移以及客户端配置提供等功能。它通过监控 Redis 主从节点状态,在主节点故障时自动将从节点提升为新主节点,确保 Redis 服务持续可用。
Redis® Sentinel 官方概述
免责声明:Redis 是 Redis Ltd. 的注册商标。Bitnami 对其的使用仅为参考目的,不表示 Redis Ltd. 的任何赞助、认可或关联。
redis 用户运行容器,增强安全性docker run --name redis-sentinel -e REDIS_MASTER_HOST=redis bitnami/redis-sentinel:latest
警告:此快速配置仅适用于开发环境。生产环境中应修改默认凭据,并参考环境变量部分进行安全配置。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的Bitnami Secure Images 计划提供精选的安全加固镜像。过渡期变更如下:
更多详情请参见 Bitnami Secure Images 公告。
从 Docker Hub 拉取最新版:
docker pull bitnami/redis-sentinel:latest
拉取特定版本(需替换 [TAG] 为具体版本号):
docker pull bitnami/redis-sentinel:[TAG]
可用版本列表
git clone [***] cd bitnami/redis-sentinel/[VERSION]/[OS] # 替换为具体版本和操作系统 docker build -t bitnami/redis-sentinel:latest .
docker network create app-tier --driver bridge
docker run -d --name redis-server \ -e ALLOW_EMPTY_PASSWORD=yes \ # 开发环境允许空密码(生产环境禁用) --network app-tier \ bitnami/redis:latest
docker run -it --rm \ -e REDIS_MASTER_HOST=redis-server \ # 指向 Redis 主节点容器名 -e REDIS_MASTER_SET=mymaster \ # 主节点集名称(默认 mymaster) -e REDIS_SENTINEL_QUORUM=2 \ # 故障转移法定人数(默认 2) --network app-tier \ bitnami/redis-sentinel:latest
创建 docker-compose.yml:
version: '3.8' networks: app-tier: driver: bridge services: redis-master: image: bitnami/redis:latest environment: - ALLOW_EMPTY_PASSWORD=yes # 生产环境需设置 REDIS_PASSWORD networks: - app-tier volumes: - redis-master-data:/bitnami/redis/data redis-sentinel: image: bitnami/redis-sentinel:latest depends_on: - redis-master environment: - REDIS_MASTER_HOST=redis-master - REDIS_MASTER_SET=mymaster - REDIS_SENTINEL_QUORUM=2 - REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS=5000 # 5秒无响应判定为下线 networks: - app-tier volumes: - redis-sentinel-data:/bitnami/redis-sentinel/data volumes: redis-master-data: redis-sentinel-data:
启动服务:
docker-compose up -d
| 名称 | 描述 | 默认值 |
|---|---|---|
REDIS_SENTINEL_DATA_DIR | Redis 数据目录 | ${REDIS_SENTINEL_VOLUME_DIR}/data |
REDIS_SENTINEL_DISABLE_COMMANDS | 禁用的 Redis 命令 | nil |
REDIS_SENTINEL_DATABASE | 默认数据库名 | redis |
REDIS_SENTINEL_AOF_ENABLED | 是否启用 AOF 持久化 | yes |
REDIS_SENTINEL_HOST | Sentinel 监听主机 | nil |
REDIS_SENTINEL_MASTER_NAME | 主节点名称 | nil |
REDIS_SENTINEL_PORT_NUMBER | Sentinel 监听端口 | $REDIS_SENTINEL_DEFAULT_PORT_NUMBER |
REDIS_SENTINEL_QUORUM | 故障转移法定人数(最小 Sentinel 节点数) | 2 |
REDIS_SENTINEL_DOWN_AFTER_MILLISECONDS | 节点判定为下线的超时时间(毫秒) | 60000 |
REDIS_SENTINEL_FAILOVER_TIMEOUT | 故障转移超时时间(毫秒) | 180000 |
REDIS_SENTINEL_MASTER_REBOOT_DOWN_AFTER_PERIOD | 主节点重启超时时间(毫秒) | 0 |
REDIS_SENTINEL_RESOLVE_HOSTNAMES | 是否启用主机名解析 | yes |
REDIS_SENTINEL_ANNOUNCE_HOSTNAMES | 是否广播主机名 | no |
ALLOW_EMPTY_PASSWORD | 是否允许空密码访问 | no |
REDIS_SENTINEL_PASSWORD | Sentinel 认证密码 | nil |
REDIS_MASTER_USER | Redis 主节点用户名 | nil |
REDIS_MASTER_PASSWORD | Redis 主节点密码 | nil |
REDIS_SENTINEL_ANNOUNCE_IP | 广播的 IP 地址(用于集群发现) | nil |
REDIS_SENTINEL_ANNOUNCE_PORT | 广播的端口(用于集群发现) | nil |
REDIS_SENTINEL_TLS_ENABLED | 是否启用 TLS 认证 | no |
REDIS_SENTINEL_TLS_PORT_NUMBER | TLS 监听端口(需启用 TLS) | 26379 |
REDIS_SENTINEL_TLS_CERT_FILE | TLS 证书文件路径 | nil |
REDIS_SENTINEL_TLS_KEY_FILE | TLS 密钥文件路径 | nil |
REDIS_SENTINEL_TLS_CA_FILE | TLS CA 证书文件路径 | nil |
REDIS_SENTINEL_TLS_CA_DIR | TLS CA 证书目录 | nil |
REDIS_SENTINEL_TLS_DH_PARAMS_FILE | TLS DH 参数文件路径 | nil |
REDIS_SENTINEL_TLS_AUTH_CLIENTS | 是否启用 TLS 客户端认证 | yes |
REDIS_MASTER_HOST | Redis 主节点主机地址 | redis |
REDIS_MASTER_PORT_NUMBER | Redis 主节点端口 | 6379 |
REDIS_MASTER_SET | Sentinel 主节点集名称 | mymaster |
| 名称 | 描述 | 值 |
|---|---|---|
REDIS_SENTINEL_VOLUME_DIR | 持久化基础目录 | /bitnami/redis-sentinel |
REDIS_SENTINEL_BASE_DIR | Redis 安装目录 | ${BITNAMI_ROOT_DIR}/redis-sentinel |
REDIS_SENTINEL_CONF_DIR | 配置文件目录 | ${REDIS_SENTINEL_BASE_DIR}/etc |
REDIS_SENTINEL_CONF_FILE | 主配置文件路径 | ${REDIS_SENTINEL_CONF_DIR}/sentinel.conf |
REDIS_SENTINEL_LOG_DIR | 日志目录 | ${REDIS_SENTINEL_BASE_DIR}/logs |
REDIS_SENTINEL_PID_FILE | PID 文件路径 | ${REDIS_SENTINEL_TMP_DIR}/redis-sentinel.pid |
REDIS_SENTINEL_DAEMON_USER | 运行用户 | redis |
REDIS_SENTINEL_DAEMON_GROUP | 运行用户组 | redis |
REDIS_SENTINEL_DEFAULT_PORT_NUMBER | 默认监听端口 | 26379 |
docker run --name redis-sentinel \ -v /host/path/to/certs:/opt/bitnami/redis/certs \ # 挂载证书目录 -v /host/path/to/data:/bitnami/redis-sentinel/data \ # 持久化数据 -e REDIS_MASTER_HOST=redis-server \ -e REDIS_SENTINEL_TLS_ENABLED=yes \ -e REDIS_SENTINEL_TLS_CERT_FILE=/opt/bitnami/redis/certs/server.crt \ -e REDIS_SENTINEL_TLS_KEY_FILE=/opt/bitnami/redis/certs/server.key \ -e REDIS_SENTINEL_TLS_CA_FILE=/opt/bitnami/redis/certs/ca.crt \ bitnami/redis-sentinel:latest
注意:启用 TLS 后默认禁用非 TLS 端口,如需同时监听,需设置
REDIS_SENTINEL_PORT_NUMBER为非 0 值。
docker run --name redis-sentinel \ -e OPENSSL_FIPS=yes \ # 启用 FIPS 模式(默认 yes) bitnami/redis-sentinel:latest
docker run --name redis-sentinel \ -e REDIS_MASTER_HOST=redis-server \ -v /host/path/to/data:/bitnami/redis-sentinel \ # 挂载持久化目录 bitnami/redis-sentinel:latest
容器首次启动后,配置文件会生成在 /host/path/to/data/conf/sentinel.conf,可直接编辑:
vi /host/path/to/data/conf/sentinel.conf
docker restart redis-sentinel
容器日志输出至 stdout,可通过以下命令查看:
docker logs redis-sentinel
如需自定义日志驱动,启动时添加 --log-driver 参数:
docker run --name redis-sentinel \ --log-driver=json-file \ # 默认驱动,可选 syslog、journald 等 --log-opt max-size=10m \ # 日志文件最大 size --log-opt max-file=3 \ # 保留日志文件数 bitnami/redis-sentinel:latest
docker pull bitnami/redis-sentinel:latest
docker stop redis-sentinel rsync -a /host/path/to/data /host/path/to/data.bkp.$(date +%Y%m%d-%H%M%S) # 备份数据
docker rm -v redis-sentinel
docker run --name redis-sentinel \ -v /host/path/to/data:/bitnami/redis-sentinel \ # 使用原数据目录 [其他环境变量] \ bitnami/redis-sentinel:latest
docker-compose.yaml 文件,该文件仅用于内部测试。rootfs/ 目录下的 Bash 脚本实现。redis 用户(UID 1001)运行,配置文件支持非 root 用户写入。如遇到容器运行问题,请在 Bitnami Containers GitHub 仓库 提交 issue,并提供以下信息:
docker images | grep redis-sentinel)docker logs [容器名])Copyright © 2025 Broadcom. "Broadcom" 指 Broadcom Inc. 及其子公司。
本镜像基于 Apache License 2.0 许可协议分发。详见 Apache 许可证。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429