本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

,运行在端口7000至7005。
若传递标志-e "SENTINEL=true",将启动3个哨兵节点,运行在端口5000至5002,对应集群的主实例。
本镜像至少需要Docker 1.10版本,推荐使用最新版本。
若在Mac电脑上使用此容器运行Redis集群,需配置容器使用其他IP地址进行集群发现,因为容器无法使用默认的硬编码发现IP。
若使用docker-compose文件构建容器,需在构建前在机器上导出环境变量:
# 使Redis执行集群发现并将所有节点绑定到内部IP 127.0.0.1 export REDIS_CLUSTER_IP=0.0.0.0
若从Docker Hub下载容器,需在docker run命令中添加内部IP环境变量:
docker run -e "IP=0.0.0.0" -p 7000-7005:7000-7005 grokzen/redis-cluster:latest
本Git仓库使用pyinvoke拉取、构建、推送Docker镜像。你可使用它构建自己的镜像。
仓库中的invoke脚本仅支持Python 3.7及以上版本。
通过pip install invoke安装pyinvoke。
脚本将基于输入的版本,使用(CPU数量 - 1)个并行任务。
在仓库根目录运行invoke -l查看可用命令,示例:
(tmp-615229a94c330b9) ➜ docker-redis-cluster git:(pyinvoke) ✗ invoke -l "Configured multiprocess pool size: 3 Available tasks: build pull push
每个命令仅接受一个必填位置参数version,示例:
(tmp-615229a94c330b9) ➜ docker-redis-cluster git:(pyinvoke) ✗ invoke build 6.0 ...
此命令将对所有以6.0开头的版本执行构建步骤。
唯一其他有用的可选参数是--cpu=N,用于设置并行进程数。默认使用系统可用CPU核心数减1。拉取和推送命令对CPU消耗较低,若网络带宽良好,增加此数值可加速操作。
Makefile仍包含部分可使用的docker-compose命令:
构建镜像:
make build
启动容器:
make up
停止容器:
make down
连接集群可使用redis-cli工具:
redis-cli -c -p 7000
或使用容器内的内置redis-cli连接容器内集群:
make cli
哨兵实例默认不启用。
使用纯Docker运行时,传递-e SENTINEL=true。
使用docker-compose时,在系统上设置环境变量REDIS_USE_SENTINEL=true并启动容器:
version: '2' services: redis-cluster: ... environment: SENTINEL: 'true'
默认启动3个主节点,每个主节点1个从节点。可通过以下环境变量配置:
| 环境变量 | 默认值 |
|---|---|
INITIAL_PORT | 7000 |
MASTERS | 3 |
SLAVES_PER_MASTER | 1 |
因此,总节点数(NODES)为$MASTERS * ($SLAVES_PER_MASTER + 1),端口范围从$INITIAL_PORT到$INITIAL_PORT + NODES - 1。
本仓库提供的docker-compose已将7000-7050端口映射到主机。若需超过50个节点或更改初始端口,需覆盖这些值。
注意:若启用哨兵,哨兵数量与主节点数量相同。docker-compose默认映射5000-5010端口,若主节点超过10个,也需覆盖这些值。
version: '2' services: redis-cluster: ... environment: INITIAL_PORT: 9000, MASTERS: 2, SLAVES_PER_MASTER: 2
默认情况下,Redis实例绑定并接受所有IPv4网络的请求。可通过环境变量指定Redis实例绑定的地址,使用IPv6的::(对应IPv4的0.0.0.0)可创建IPv6集群。
| 环境变量 | 默认值 |
|---|---|
BIND_ADDRESS | 0.0.0.0 |
注意:Docker需配置IPv6支持(参考:[***]
遗憾的是,Docker不处理IPv6 NAT,因此在允许的情况下,可使用--network host。
# 纯Docker示例 docker run -e "IP=::1" -e "BIND_ADDRESS=::" --network host grokzen/redis-cluster:latest
默认禁用密码认证。可通过环境变量指定认证密码,客户端需使用AUTH命令认证。
| 环境变量 | 默认值 |
|---|---|
PASSWORD | ""(不配置requirepass/masterauth) |
默认启用保护模式。可通过环境变量配置,管理员可忽略Redis错误,禁用保护模式或手动绑定所有接口。
| 环境变量 | 默认值 |
|---|---|
PROTECTED_MODE | ""(protected-mode为yes) |
需构建的版本需存在于以下URL:[***]
使用--build-arg参数构建不同Redis版本:
# 纯Docker示例 docker build --build-arg redis_version=6.0.11 -t grokzen/redis-cluster .
使用--build-arg参数构建不同Redis版本:
# docker-compose示例 docker-compose build --build-arg "redis_version=6.0.11" redis-cluster
Docker Hub上提供以下预构建镜像标签:
最新稳定分支的最新版本标记为latest。
Redis 6.2.x版本:
Redis 6.0.x版本:
Redis 5.0.x版本:
以下主要版本不再能从Docker Hub下载,但仍可从本仓库直接构建和运行:
本仓库使用MIT许可证。
详见文件LICENSE
免费版仅支持 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