
维护者: https://github.com/valkey-io/valkey-container
获取帮助: 请在https://github.com/valkey-io/valkey-container/issues%E6%8F%90%E4%BA%A4Issue%E8%AF%B4%E6%98%8E%E6%82%A8%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82
Dockerfile链接Valkey是一个高性能数据结构服务器,主要用于处理键值工作负载。它支持多种原生数据结构,并提供可扩展的插件系统,用于添加新的数据结构和访问模式。
为便于通过Docker网络从其他容器访问Valkey,默认关闭"保护模式"。这意味着如果通过docker run的-p参数将端口暴露到主机外部,任何人都可以无密码访问。强烈建议如果计划将Valkey实例暴露到互联网,务必设置密码(通过提供配置文件)。有关Valkey安全的更多信息,请参阅:
console$ docker run --name some-valkey -d valkey/valkey
console$ docker run --name some-valkey -d valkey/valkey valkey-server --save 60 1 --loglevel warning
Valkey提供多种持久化策略。上述命令配置为每60秒且至少有1次写入操作时保存数据库快照(这也会产生更多日志,因此loglevel选项可能是理想的)。启用持久化后,数据存储在/data目录,可通过-v /docker/host/dir:/data挂载(参见Docker卷文档)。
valkey-cli连接console$ docker run -it --network some-network --rm valkey/valkey valkey-cli -h some-valkey
如果希望通过环境变量配置valkey-server的启动参数,可使用VALKEY_EXTRA_FLAGS,无需覆盖CMD:
console$ docker run --env VALKEY_EXTRA_FLAGS='--save 60 1 --loglevel warning' valkey/valkey
可以创建自己的Dockerfile,将上下文中的valkey.conf添加到/data/,如下所示:
dockerfileFROM valkey/valkey COPY valkey.conf /usr/local/etc/valkey/valkey.conf CMD [ "valkey-server", "/usr/local/etc/valkey/valkey.conf" ]
或者,也可以通过docker run选项实现类似效果:
console$ docker run -v /myvalkey/conf:/usr/local/etc/valkey --name myvalkey valkey/valkey valkey-server /usr/local/etc/valkey/valkey.conf
其中/myvalkey/conf/是包含valkey.conf文件的本地目录。这种方法无需为Valkey容器编写Dockerfile。映射的目录应可写,因为根据配置和操作模式,Valkey可能需要创建额外配置文件或重写现有文件。
Valkey支持启动通知,让systemd在其依赖服务启动前知道Valkey已准备好提供服务。为此,在Quadlet服务中指定:
systemd[Container] Image=docker.io/valkey/valkey:latest Exec=valkey-server --supervised systemd Notify=true
valkey镜像有多种版本,适用于不同使用场景。
valkey/valkey:<version>这是默认镜像。如果不确定需求,建议使用此版本。它既可用作临时容器(挂载源代码并启动容器以运行应用),也可用作构建其他镜像的基础。
部分标签可能包含如bookworm的名称,这些是Debian的发行版代号,表示镜像基于哪个发行版。如果镜像需要安装除自带包之外的其他软件包,建议显式指定这些代号,以减少Debian新版本发布时的兼容性问题。
valkey/valkey:<version>-alpine此镜像基于流行的Alpine Linux项目,来自https://hub.docker.com/_/alpine%E3%80%82Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此生成的镜像通常更精简。
当最终镜像大小是主要关注点时,此变体非常有用。需要注意的是,它使用musl libc而非glibc及相关库,因此软件可能因libc需求/假设的深度而遇到问题。有关可能出现的问题及使用Alpine基础镜像的优缺点,请参见此Hacker News评论线程。
为最小化镜像大小,Alpine基础镜像通常不包含额外相关工具(如git或bash)。如果以此镜像为基础,可在自己的Dockerfile中添加所需工具(不熟悉如何安装包可参考https://hub.docker.com/_/alpine/%EF%BC%89%E3%80%82
查看此镜像中包含软件的https://github.com/valkey-io/valkey/blob/unstable/COPYING%E3%80%82
与所有Docker镜像一样,这些镜像可能还包含其他软件,可能受其他许可约束(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用均符合其中包含的所有软件的相关许可。
以下是 hanxizh/valkey 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务