
hanxizh/valkey维护者: Valkey社区
获取帮助: 请在Valkey社区提交Issue说明您的问题。
Dockerfile链接9.0.1, 9.0, 9, latest, 9.0.1-trixie, 9.0-trixie, 9-trixie, trixie9.0.1-alpine, 9.0-alpine, 9-alpine, alpine, 9.0.1-alpine3.23, 9.0-alpine3.23, 9-alpine3.23, alpine3.238.1.5, 8.1, 8, 8.1.5-trixie, 8.1-trixie, 8-trixie8.1.5-alpine, 8.1-alpine, 8-alpine, 8.1.5-alpine3.23, 8.1-alpine3.23, 8-alpine3.238.0.6, 8.0, 8.0.6-trixie, 8.0-trixie8.0.6-alpine, 8.0-alpine, 8.0.6-alpine3.22, 8.0-alpine3.227.2.11, 7.2, 7, 7.2.11-trixie, 7.2-trixie, 7-trixie7.2.11-alpine, 7.2-alpine, 7-alpine, 7.2.11-alpine3.22, 7.2-alpine3.22, 7-alpine3.22unstable, unstable-bookwormunstable-alpine, unstable-alpine3.21Valkey是一个高性能数据结构服务器,主要用于处理键值工作负载。它支持多种原生数据结构,并提供可扩展的插件系统,用于添加新的数据结构和访问模式。
为便于通过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项目,来自alpine官方镜像。Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此生成的镜像通常更精简。
当最终镜像大小是主要关注点时,此变体非常有用。需要注意的是,它使用musl libc而非glibc及相关库,因此软件可能因libc需求/假设的深度而遇到问题。有关可能出现的问题及使用Alpine基础镜像的优缺点,请参见此Hacker News评论线程。
为最小化镜像大小,Alpine基础镜像通常不包含额外相关工具(如git或bash)。如果以此镜像为基础,可在自己的Dockerfile中添加所需工具(不熟悉如何安装包可参考alpine镜像说明)。
查看此镜像中包含软件的许可信息。
与所有Docker镜像一样,这些镜像可能还包含其他软件,可能受其他许可约束(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用均符合其中包含的所有软件的相关许可。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务