Valkey 是一款开源(BSD许可)的高性能键值数据存储系统,支持缓存、消息队列等多种工作负载,也可作为主数据库使用。Valkey Cluster 是 Valkey 的分布式集群模式,提供数据分片、高可用和水平扩展能力。
Bitnami Valkey Cluster 镜像旨在简化 Valkey 集群的部署和管理,基于 Bitnami 安全加固标准构建,适用于开发、测试及生产环境(推荐使用 Bitnami Secure Images 用于生产)。
通过以下命令快速启动 Valkey Cluster 容器(允许空密码访问):
consoledocker run --name valkey-cluster -e ALLOW_EMPTY_PASSWORD=yes bitnami/valkey-cluster:latest
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出 Bitnami Secure Images 计划,主要变更如下:
详细说明见 https://github.com/bitnami/containers/issues/83267%E3%80%82
从 Docker Hub 拉取最新版镜像:
consoledocker pull bitnami/valkey-cluster:latest
拉取特定版本(查看 https://hub.docker.com/r/bitnami/valkey-cluster/tags/%EF%BC%89%EF%BC%9A
consoledocker pull bitnami/valkey-cluster:[TAG] # 例如:bitnami/valkey-cluster:7.2.4
克隆仓库并构建(替换 APP、VERSION、OPERATING-SYSTEM 占位符):
consolegit clone https://github.com/bitnami/containers.git cd bitnami/APP/VERSION/OPERATING-SYSTEM docker build -t bitnami/APP:latest .
默认情况下,容器删除后数据会丢失。需挂载外部卷至 /bitnami 目录实现持久化:
consoledocker run \ --name valkey-cluster \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/valkey-cluster-persistence:/bitnami \ bitnami/valkey-cluster:latest
修改 docker-compose.yml 文件:
yamlservices: valkey-cluster: ... volumes: - /path/to/valkey-cluster-persistence:/bitnami # 挂载持久化目录 ...
容器需加入同一网络才能相互通信,可通过容器名作为主机名访问。
consoledocker network create valkey-cluster-network --driver bridge
consoledocker run \ -e ALLOW_EMPTY_PASSWORD=yes \ --name valkey-cluster-node1 \ --network valkey-cluster-network \ bitnami/valkey-cluster:latest
其他容器加入同一网络后,可通过 valkey-cluster-node1:6379 访问 Valkey 服务。
镜像默认从 /opt/bitnami/valkey/mounted-etc/valkey.conf 加载配置,可挂载自定义配置文件覆盖:
consoledocker run --name valkey-cluster \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/your_valkey.conf:/opt/bitnami/valkey/mounted-etc/valkey.conf \ # 自定义配置文件 -v /path/to/valkey-data:/bitnami/valkey/data \ # 数据持久化 bitnami/valkey-cluster:latest
无需替换完整配置文件时,可通过 overrides.conf 仅覆盖特定参数(优先级低于自定义 valkey.conf):
consoledocker run --name valkey-cluster \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/overrides.conf:/opt/bitnami/valkey/mounted-etc/overrides.conf \ # 参数覆盖文件 bitnami/valkey-cluster:latest
可自定义环境变量
| 变量名 | 描述 | 默认值 |
|---|---|---|
VALKEY_DATA_DIR | Valkey 数据目录 | ${VALKEY_VOLUME_DIR}/data |
VALKEY_AOF_ENABLED | 是否启用 AOF 持久化 | yes |
VALKEY_RDB_POLICY | RDB 持久化策略(格式:<秒数>#<修改次数>,多个策略用空格分隔) | nil |
VALKEY_RDB_POLICY_DISABLED | 是否禁用 RDB 持久化 | no |
VALKEY_PORT_NUMBER | 服务端口号 | 6379 |
ALLOW_EMPTY_PASSWORD | 是否允许无密码访问 | no |
VALKEY_PASSWORD | Valkey 访问密码 | nil |
VALKEY_CLUSTER_CREATOR | 是否启动集群初始化命令 | no |
VALKEY_CLUSTER_REPLICAS | 每个主节点的副本数 | 1 |
VALKEY_CLUSTER_DYNAMIC_IPS | 是否使用动态 IP 进行集群创建 | yes |
VALKEY_TLS_ENABLED | 是否启用 TLS 加密 | no |
VALKEY_TLS_PORT_NUMBER | TLS 服务端口(需启用 TLS) | 6379 |
VALKEY_TLS_CERT_FILE | TLS 证书文件路径 | nil |
VALKEY_TLS_KEY_FILE | TLS 私钥文件路径 | nil |
VALKEY_TLS_CA_FILE | TLS CA 证书文件路径 | nil |
只读环境变量(运行时不可修改)
| 变量名 | 描述 | 值 |
|---|---|---|
VALKEY_VOLUME_DIR | 持久化基础目录 | /bitnami/valkey |
VALKEY_CONF_DIR | 配置文件目录 | ${VALKEY_BASE_DIR}/etc |
VALKEY_LOG_FILE | 日志文件路径 | ${VALKEY_LOG_DIR}/valkey.log |
VALKEY_DAEMON_USER | 运行用户 | valkey |
VALKEY_DEFAULT_PORT_NUMBER | 默认端口号(构建时定义) | 6379 |
所有节点启动后,通过 valkey-cli 初始化集群(替换 node1:port 为实际节点地址):
consolevalkey-cli --cluster create node1:port node2:port ... \ --cluster-replicas 1 \ # 每个主节点的副本数 --cluster-yes # 自动确认所有配置
DNS 查找延迟可能导致初始化失败,可调整以下参数:
VALKEY_CLUSTER_SLEEP_BEFORE_DNS_LOOKUP:DNS 查找前等待时间(默认 0,建议 Kubernetes 环境设为 30)VALKEY_CLUSTER_DNS_LOOKUP_RETRIES:DNS 查找重试次数(默认 1)VALKEY_CLUSTER_DNS_LOOKUP_SLEEP:重试间隔秒数(默认 1)通过环境变量配置 TLS(需挂载证书文件):
consoledocker run --name valkey-cluster \ -v /path/to/certs:/opt/bitnami/valkey/certs \ # 挂载证书目录 -e ALLOW_EMPTY_PASSWORD=yes \ -e VALKEY_TLS_ENABLED=yes \ -e VALKEY_TLS_CERT_FILE=/opt/bitnami/valkey/certs/valkey.crt \ # 证书文件 -e VALKEY_TLS_KEY_FILE=/opt/bitnami/valkey/certs/valkey.key \ # 私钥文件 -e VALKEY_TLS_CA_FILE=/opt/bitnami/valkey/certs/valkeyCA.crt \ # CA 证书 bitnami/valkey-cluster:latest
Docker Compose 配置:
yamlservices: valkey-cluster: ... environment: - VALKEY_TLS_ENABLED=yes - VALKEY_TLS_CERT_FILE=/opt/bitnami/valkey/certs/valkey.crt - VALKEY_TLS_KEY_FILE=/opt/bitnami/valkey/certs/valkey.key - VALKEY_TLS_CA_FILE=/opt/bitnami/valkey/certs/valkeyCA.crt volumes: - /path/to/certs:/opt/bitnami/valkey/certs # 挂载证书目录 ...
修改 RDB 持久化策略(格式:<秒数>#<修改次数>,多个策略空格分隔):
consoledocker run --name valkey-cluster \ -e ALLOW_EMPTY_PASSWORD=yes \ -e VALKEY_RDB_POLICY_DISABLED=no \ # 启用 RDB 策略 -e VALKEY_RDB_POLICY="900#1 600#5 300#10" \ # 900秒内1次修改触发持久化,以此类推 -v /path/to/persistence:/bitnami \ bitnami/valkey-cluster:latest
企业版镜像支持 FIPS 模式,通过环境变量启用:
OPENSSL_FIPS=yes:启用 FIPS 模式(默认值)OPENSSL_FIPS=no:禁用 FIPS 模式镜像将日志输出至 stdout,可通过 docker logs 查看:
consoledocker logs valkey-cluster # 查看容器日志
可通过 --log-driver 配置日志驱动(如 json-file、syslog 等):
consoledocker run --name valkey-cluster \ --log-driver json-file \ # 指定日志驱动 --log-opt max-size=10m \ # 日志文件最大尺寸 --log-opt max-file=3 \ # 保留日志文件数 bitnami/valkey-cluster:latest
consoledocker pull bitnami/valkey-cluster:latest
consoledocker stop valkey-cluster # 停止容器 docker rm -v valkey-cluster # 删除容器(-v 清理匿名卷)
使用原持久化卷启动新容器:
consoledocker run --name valkey-cluster \ -e ALLOW_EMPTY_PASSWORD=yes \ -v /path/to/valkey-cluster-persistence:/bitnami \ bitnami/valkey-cluster:latest
注意:docker-compose.yml 文件仅建议用于开发/测试,生产环境推荐使用 https://github.com/bitnami/charts/tree/main/bitnami/valkey-cluster%E3%80%82
示例 docker-compose.yml 片段:
yamlversion: '3' services: valkey-node-0: image: bitnami/valkey-cluster:latest environment: - ALLOW_EMPTY_PASSWORD=yes - VALKEY_CLUSTER_CREATOR=yes # 作为集群创建节点 - VALKEY_NODES=valkey-node-0,valkey-node-1 # 集群节点列表 volumes: - valkey-data-0:/bitnami valkey-node-1: image: bitnami/valkey-cluster:latest environment: - ALLOW_EMPTY_PASSWORD=yes - VALKEY_NODES=valkey-node-0,valkey-node-1 volumes: - valkey-data-1:/bitnami volumes: valkey-data-0: valkey-data-1:
欢迎通过 https://github.com/bitnami/containers/issues 报告问题或提交 https://github.com/bitnami/containers/pulls 贡献代码。
注:完整文档请参见 https://github.com/bitnami/containers/blob/main/bitnami/valkey-cluster/README.md%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务