Bitnami提供的Redis哨兵安全镜像,用于实现Redis集群的高可用,支持监控和自动故障转移。
收藏数: 55
下载次数: 182807690
类型:
bitnami/redis-sentinelRedis® Sentinel 是 Redis 的高可用性解决方案,提供监控、通知、自动故障转移以及客户端配置提供等功能。它通过监控 Redis 主从节点状态,在主节点故障时自动将从节点提升为新主节点,确保 Redis 服务持续可用。
Redis® Sentinel 官方概述
免责声明:Redis 是 Redis Ltd. 的注册商标。Bitnami 对其的使用仅为参考目的,不表示 Redis Ltd. 的任何赞助、认可或关联。
redis 用户运行容器,增强安全性consoledocker 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 拉取最新版:
consoledocker pull bitnami/redis-sentinel:latest
拉取特定版本(需替换 [TAG] 为具体版本号):
consoledocker pull bitnami/redis-sentinel:[TAG]
可用版本列表
consolegit clone [***] cd bitnami/redis-sentinel/[VERSION]/[OS] # 替换为具体版本和操作系统 docker build -t bitnami/redis-sentinel:latest .
consoledocker network create app-tier --driver bridge
consoledocker run -d --name redis-server \ -e ALLOW_EMPTY_PASSWORD=yes \ # 开发环境允许空密码(生产环境禁用) --network app-tier \ bitnami/redis:latest
consoledocker 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:
yamlversion: '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:
启动服务:
consoledocker-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 | 故障转移超时时间(毫秒) | *** |
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 |
consoledocker 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 值。
consoledocker run --name redis-sentinel \ -e OPENSSL_FIPS=yes \ # 启用 FIPS 模式(默认 yes) bitnami/redis-sentinel:latest
consoledocker 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,可直接编辑:
consolevi /host/path/to/data/conf/sentinel.conf
consoledocker restart redis-sentinel
容器日志输出至 stdout,可通过以下命令查看:
consoledocker logs redis-sentinel
如需自定义日志驱动,启动时添加 --log-driver 参数:
consoledocker 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
consoledocker pull bitnami/redis-sentinel:latest
consoledocker stop redis-sentinel rsync -a /host/path/to/data /host/path/to/data.bkp.$(date +%Y%m%d-%H%M%S) # 备份数据
consoledocker rm -v redis-sentinel
consoledocker 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 许可证。
以下是 bitnami/redis-sentinel 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务