本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Redis® Sentinel 为 Redis 提供高可用性支持。Redis Sentinel 还提供其他辅助功能,如监控、通知,并作为客户端的配置提供者。
Redis® Sentinel 概述
免责声明:Redis 是 Redis Ltd. 的注册商标。Bitnami 对其的任何使用仅为参考目的,不表示 Redis Ltd. 的任何赞助、认可或关联。
docker run --name redis-sentinel -e REDIS_MASTER_HOST=redis REGISTRY_NAME/bitnami/redis-sentinel:latest
警告:此快速设置仅适用于开发环境。建议修改不安全的默认凭据,并查看环境变量部分的可用配置选项以进行更安全的部署。
仅部分 BSI 应用可免费使用。如需访问完整应用目录及企业支持?立即尝试 Bitnami 安全镜像商业版。
非 root 容器镜像增加了额外的安全层,通常推荐用于生产环境。但由于它们以非 root 用户运行,通常无法执行特权任务。更多关于非 root 容器的信息,请参见 Bitnami 文档。
了解 Bitnami 标签策略及滚动标签与不可变标签的区别,请参见 Bitnami 文档。
可通过分支文件夹中的 tags-info.yaml 文件查看不同标签的对应关系,例如 bitnami/ASSET/BRANCH/DISTRO/tags-info.yaml。
订阅项目更新,请关注 bitnami/containers GitHub 仓库。
获取 Bitnami Redis® Sentinel Docker 镜像的推荐方式是从 Docker Hub 仓库 拉取预构建镜像。
docker pull REGISTRY_NAME/bitnami/redis-sentinel:latest
如需使用特定版本,可拉取带版本标签的镜像。可在 Docker Hub 仓库 查看可用版本列表。
docker pull REGISTRY_NAME/bitnami/redis-sentinel:[TAG]
如需自行构建镜像,可克隆仓库,进入包含 Dockerfile 的目录,执行 docker build 命令。请将以下命令中的 APP、VERSION 和 OPERATING-SYSTEM 占位符替换为实际值。
git clone [***] cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t REGISTRY_NAME/bitnami/APP:latest .
Redis® Sentinel 适用于需要 Redis 高可用架构的场景,例如:
通过 Docker 容器网络,容器内运行的 Redis 服务器可被应用容器轻松访问。同一网络中的容器可通过容器名作为主机名相互通信。
以下示例将创建一个 Redis® Sentinel 实例,监控同一 Docker 网络中的 Redis® 实例。
docker network create app-tier --driver bridge
使用 --network app-tier 参数将 Redis 容器附加到 app-tier 网络。
docker run -d --name redis-server \ -e ALLOW_EMPTY_PASSWORD=yes \ --network app-tier \ REGISTRY_NAME/bitnami/redis:latest
创建新容器实例以启动 Redis® Sentinel 并连接到上一步创建的服务器:
docker run -it --rm \ -e REDIS_MASTER_HOST=redis-server \ --network app-tier \ REGISTRY_NAME/bitnami/redis-sentinel:latest
| 名称 | 描述 | 默认值 |
|---|---|---|
REDIS_SENTINEL_DATA_DIR | Redis 数据目录 | ${REDIS_SENTINEL_VOLUME_DIR}/data |
REDIS_SENTINEL_DISABLE_COMMANDS | 需禁用的 Redis 命令 | nil |
REDIS_SENTINEL_DATABASE | 默认 Redis 数据库 | redis |
REDIS_SENTINEL_AOF_ENABLED | 是否启用 AOF 持久化 | yes |
REDIS_SENTINEL_HOST | Redis Sentinel 主机名 | nil |
REDIS_SENTINEL_MASTER_NAME | Redis Sentinel 主节点名称 | nil |
REDIS_SENTINEL_PORT_NUMBER | Redis 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 | Redis 访问密码 | nil |
REDIS_MASTER_USER | Redis 主节点用户名 | nil |
REDIS_MASTER_PASSWORD | Redis 主节点密码 | nil |
REDIS_SENTINEL_ANNOUNCE_IP | 用于 gossip 协议的公告 IP 地址 | nil |
REDIS_SENTINEL_ANNOUNCE_PORT | 用于 gossip 协议的公告端口 | nil |
REDIS_SENTINEL_TLS_ENABLED | 是否启用 TLS 认证 | no |
REDIS_SENTINEL_TLS_PORT_NUMBER | Redis TLS 端口(需启用 REDIS_SENTINEL_TLS_ENABLED=yes) | 26379 |
REDIS_SENTINEL_TLS_CERT_FILE | Redis TLS 证书文件路径 | nil |
REDIS_SENTINEL_TLS_KEY_FILE | Redis TLS 密钥文件路径 | nil |
REDIS_SENTINEL_TLS_CA_FILE | Redis TLS CA 证书文件路径 | nil |
REDIS_SENTINEL_TLS_CA_DIR | 包含 TLS CA 证书的目录 | nil |
REDIS_SENTINEL_TLS_DH_PARAMS_FILE | Redis TLS DH 参数文件路径 | nil |
REDIS_SENTINEL_TLS_AUTH_CLIENTS | 是否启用 Redis TLS 客户端认证 | yes |
REDIS_MASTER_HOST | Redis 主节点主机名(从节点使用) | redis |
REDIS_MASTER_PORT_NUMBER | Redis 主节点端口(从节点使用) | 6379 |
REDIS_MASTER_SET | Redis Sentinel 主节点集名称 | mymaster |
| 名称 | 描述 | 值 |
|---|---|---|
REDIS_SENTINEL_VOLUME_DIR | 持久化基础目录 | /bitnami/redis-sentinel |
REDIS_SENTINEL_BASE_DIR | Redis 安装目录 | ${BITNAMI_ROOT_DIR}/redis-sentinel |
REDIS_SENTINEL_CONF_DIR | Redis 配置目录 | ${REDIS_SENTINEL_BASE_DIR}/etc |
REDIS_SENTINEL_DEFAULT_CONF_DIR | Redis 默认配置目录 | ${REDIS_SENTINEL_BASE_DIR}/etc.default |
REDIS_SENTINEL_MOUNTED_CONF_DIR | Redis 挂载配置目录 | ${REDIS_SENTINEL_BASE_DIR}/mounted-etc |
REDIS_SENTINEL_CONF_FILE | Redis 配置文件路径 | ${REDIS_SENTINEL_CONF_DIR}/sentinel.conf |
REDIS_SENTINEL_LOG_DIR | Redis 日志目录 | ${REDIS_SENTINEL_BASE_DIR}/logs |
REDIS_SENTINEL_TMP_DIR | Redis 临时目录 | ${REDIS_SENTINEL_BASE_DIR}/tmp |
REDIS_SENTINEL_PID_FILE | Redis PID 文件路径 | ${REDIS_SENTINEL_TMP_DIR}/redis-sentinel.pid |
REDIS_SENTINEL_BIN_DIR | Redis 可执行文件目录 | ${REDIS_SENTINEL_BASE_DIR}/bin |
REDIS_SENTINEL_DAEMON_USER | Redis 系统用户 | redis |
REDIS_SENTINEL_DAEMON_GROUP | Redis 系统用户组 | redis |
REDIS_SENTINEL_DEFAULT_PORT_NUMBER | Redis Sentinel 默认端口 | 26379 |
Redis® 从版本 6 开始支持 SSL/TLS 连接。如需启用此功能,可使用上述 REDIS_SENTINEL_TLS_* 环境变量进行配置。
启用 TLS 后,默认禁用常规流量。但该功能并非互斥,可同时监听 TLS 和非 TLS 连接。如需启用非 TLS 流量,需将 REDIS_SENTINEL_PORT_NUMBER 设置为非 0 的端口。
使用 docker run 命令:
docker run --name redis-sentinel \ -v /path/to/certs:/opt/bitnami/redis/certs \ -v /path/to/redis-sentinel/persistence:/bitnami \ -e REDIS_MASTER_HOST=redis \ -e REDIS_SENTINEL_TLS_ENABLED=yes \ -e REDIS_SENTINEL_TLS_CERT_FILE=/opt/bitnami/redis/certs/redis.crt \ -e REDIS_SENTINEL_TLS_KEY_FILE=/opt/bitnami/redis/certs/redis.key \ -e REDIS_SENTINEL_TLS_CA_FILE=/opt/bitnami/redis/certs/redisCA.crt \ REGISTRY_NAME/bitnami/redis-sentinel:latest
也可通过自定义配置文件提供此配置。
镜像会在 /bitnami/redis-sentinel/conf/ 目录中查找配置。可挂载卷到 /bitnami,并在 /path/to/redis-persistence/redis-sentinel/conf/ 中编辑配置。若 conf/ 目录为空,将自动填充默认配置。
运行 Redis® Sentinel 镜像,挂载主机目录:
docker run --name redis-sentinel \ -e REDIS_MASTER_HOST=redis \ -v /path/to/redis-sentinel/persistence:/bitnami \ REGISTRY_NAME/bitnami/redis-sentinel:latest
使用编辑器在主机上修改配置:
vi /path/to/redis-persistence/redis-sentinel/conf/sentinel.conf
修改配置后,重启容器使变更生效:
docker restart redis-sentinel
完整配置选项请参考 Redis® 配置手册。
Bitnami 安全镜像 目录中的 Bitnami Redis® Sentinel Docker 镜像包含额外功能和设置,可配置容器支持 FIPS。可设置以下环境变量:
OPENSSL_FIPS:OpenSSL 是否运行在 FIPS 模式。yes(默认)、no。Bitnami Redis® Sentinel Docker 镜像将容器日志输出到 stdout。查看日志:
docker logs redis-sentinel
如需自定义日志消费方式,可使用 --log-driver 选项配置容器日志驱动。默认使用 json-file 驱动。
Bitnami 会及时提供 Redis® Sentinel 的更新版本,包括安全补丁。建议按以下步骤升级容器:
docker pull REGISTRY_NAME/bitnami/redis-sentinel:latest
使用以下命令停止当前容器:
docker stop redis-sentinel
使用 rsync 快照持久化卷 /path/to/redis-persistence:
rsync -a /path/to/redis-persistence /path/to/redis-persistence.bkp.$(date +%Y%m%d-%H.%M.%S)
docker rm -v redis-sentinel
使用新镜像重新创建容器:
docker run --name redis-sentinel REGISTRY_NAME/bitnami/redis-sentinel:latest
docker-compose.yaml 文件已移除,该文件仅用于内部测试。rootfs/ 目录中的 Bash 脚本实现。root 用户运行,Redis 守护进程以 redis 用户运行;现在容器和 Redis 守护进程均以用户 1001 运行。因此,配置文件可被运行 Redis 进程的用户写入。如需恢复原有行为,可将 Dockerfile 中的 USER 1001 修改为 USER root。欢迎为此容器贡献代码。可通过创建 issue 请求新功能,或提交 pull request 贡献代码。
如运行容器时遇到问题,请提交 [issue](
免费版仅支持 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