
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Redis® Sentinel 是 Redis 的高可用性解决方案,提供监控、通知、自动故障转移以及客户端配置提供等功能。它通过监控 Redis 主从节点状态,在主节点故障时自动将从节点提升为新主节点,确保 Redis 服务持续可用。
https://redis.io/
免责声明:Redis 是 Redis Ltd. 的注册商标。Bitnami 对其的使用仅为参考目的,不表示 Redis Ltd. 的任何赞助、认可或关联。
redis 用户运行容器,增强安全性consoledocker run --name redis-sentinel -e REDIS_MASTER_HOST=redis docker.xuanyuan.run/bitnami/redis-sentinel:latest
警告:此快速配置仅适用于开发环境。生产环境中应修改默认凭据,并参考环境变量部分进行安全配置。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,通过新的https://news.broadcom.com/app-dev/broadcom-introduces-bitnami-secure-images-for-production-ready-containerized-applications提供精选的安全加固镜像。过渡期变更如下:
更多详情请参见 https://github.com/bitnami/containers/issues/83267。
从 Docker Hub 拉取最新版:
consoledocker pull docker.xuanyuan.run/bitnami/redis-sentinel:latest
拉取特定版本(需替换 [TAG] 为具体版本号):
consoledocker pull docker.xuanyuan.run/bitnami/redis-sentinel:[TAG]
https://hub.docker.com/r/bitnami/redis-sentinel/tags/
consolegit clone https://github.com/bitnami/containers.git cd bitnami/redis-sentinel/[VERSION]/[OS] # 替换为具体版本和操作系统 docker build -t bitnami/redis-sentinel:latest .
步骤 1:创建 Docker 网络
consoledocker network create app-tier --driver bridge
步骤 2:启动 Redis 主节点
consoledocker run -d --name redis-server \ -e ALLOW_EMPTY_PASSWORD=yes \ # 开发环境允许空密码(生产环境禁用) --network app-tier \ bitnami/redis:latest
步骤 3:启动 Redis Sentinel
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: docker.xuanyuan.run/bitnami/redis:latest environment: - ALLOW_EMPTY_PASSWORD=yes # 生产环境需设置 REDIS_PASSWORD networks: - app-tier volumes: - redis-master-data:/bitnami/redis/data redis-sentinel: image: docker.xuanyuan.run/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 | 故障转移超时时间(毫秒) | 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 |
启用 TLS 加密
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 值。
FIPS 模式配置(Bitnami Secure Images)
consoledocker run --name redis-sentinel \ -e OPENSSL_FIPS=yes \ # 启用 FIPS 模式(默认 yes) bitnami/redis-sentinel:latest
步骤 1:启动容器并挂载目录
consoledocker run --name redis-sentinel \ -e REDIS_MASTER_HOST=redis-server \ -v /host/path/to/data:/bitnami/redis-sentinel \ # 挂载持久化目录 bitnami/redis-sentinel:latest
步骤 2:修改配置文件
容器首次启动后,配置文件会生成在 /host/path/to/data/conf/sentinel.conf,可直接编辑:
consolevi /host/path/to/data/conf/sentinel.conf
步骤 3:重启容器使配置生效
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
步骤 1:拉取最新镜像
consoledocker pull docker.xuanyuan.run/bitnami/redis-sentinel:latest
步骤 2:停止并备份当前容器
consoledocker stop redis-sentinel rsync -a /host/path/to/data /host/path/to/data.bkp.$(date +%Y%m%d-%H%M%S) # 备份数据
步骤 3:删除旧容器
consoledocker rm -v redis-sentinel
步骤 4:启动新容器
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 用户写入。如遇到容器运行问题,请在 https://github.com/bitnami/containers/issues/new/choose 提交 issue,并提供以下信息:
docker images | grep redis-sentinel)docker logs [容器名])Copyright © 2025 Broadcom. "Broadcom" 指 Broadcom Inc. 及其子公司。
本镜像基于 Apache License 2.0 许可协议分发。详见 http://www.apache.org/licenses/LICENSE-2.0。
以下是 bitnami/redis-sentinel 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务