
centos/redis-32-centos7本容器镜像包含 Redis 3.2 内存数据结构存储,适用于 OpenShift 和一般使用场景。用户可选择基于 RHEL、CentOS 或 Fedora 的镜像:RHEL 镜像可在 Red Hat Container Catalog 获取,CentOS 镜像可在 Docker Hub 获取,Fedora 镜像可在 Fedora Registry 获取。生成的镜像可使用 podman 运行。
注意:本文档中的示例使用
podman命令,所有此类命令均可替换为docker,参数保持不变。
Redis 3.2 容器版是一种高级键值存储,常被称为数据结构服务器。其键可包含字符串、哈希、列表、集合和有序集合等多种数据类型,并支持对这些类型执行原子操作,例如:字符串追加、哈希值递增、列表推送、集合交集/并集/差集计算、有序集合中获取最高排名成员等。
Redis 基于内存数据集实现卓越性能,可根据使用场景选择持久化方式:定期将数据集转储到磁盘,或通过追加每个命令到日志来持久化。
以下示例假设使用 rhscl/redis-32-rhel7 镜像。
仅设置必要环境变量且不将数据库存储在主机目录时,执行以下命令:
bashdocker run -d --name redis_database -p 6379:6379 rhscl/redis-32-rhel7
此命令将创建名为 redis_database 的容器,并暴露 6379 端口映射到主机。
如需数据库在容器重启后保持持久化,添加 -v /host/db/path:/var/lib/redis/data:Z 参数(/host/db/path 为主机目录):
bashdocker run -d --name redis_database -p 6379:6379 -v /host/db/path:/var/lib/redis/data:Z rhscl/redis-32-rhel7
通过 REDIS_PASSWORD 环境变量为 Redis 数据设置密码:
bashdocker run -d --name redis_database -e REDIS_PASSWORD=strongpassword rhscl/redis-32-rhel7
警告:Redis 性能极高,外部用户可在高性能服务器上每秒尝试多达 150k 个密码。因此,必须使用高强度密码,否则极易被破解。
| 变量名 | 描述 |
|---|---|
REDIS_PASSWORD | 服务器访问密码 |
| 容器路径 | 描述 |
|---|---|
/var/lib/redis/data | Redis 数据目录 |
注意:从主机挂载目录到容器时,需确保挂载目录具有适当权限,且目录的所有者和组与容器内运行的用户 UID 或名称匹配。
Redis 日志输出到标准输出,可通过以下命令查看容器日志:
bashdocker logs <容器名称或ID>
本容器镜像的 Dockerfile 及其他源码可在 GitHub 仓库 获取。该仓库还包含其他版本的 Python 环境 Dockerfile:CentOS 的 Dockerfile 名为 Dockerfile,RHEL7 的为 Dockerfile.rhel7,RHEL8 的为 Dockerfile.rhel8,Fedora 的为 Dockerfile.fedora。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务