在 Docker 上运行 Redis Stack
如何使用 Docker 安装 Redis Stack
要开始使用 Docker 使用 Redis Stack,您首先需要选择一个 Docker 镜像
-
redis/redis-stack
包含 Redis Stack 服务器和 Redis Insight。此容器最适合本地开发,因为您可以使用嵌入的 Redis Insight 来可视化您的数据。 -
redis/redis-stack-server
提供了 Redis Stack 服务器。该容器最适合生产部署。
入门
redis/redis-stack-server
要使用 redis-stack-server
镜像启动 Redis Stack 服务器,请在您的终端中运行以下命令
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest
redis/redis-stack
要使用 redis-stack
镜像启动 Redis Stack 容器,请在您的终端中运行以下命令
docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 redis/redis-stack:latest
上面的 docker run
命令还在端口 8001 上公开 Redis Insight。您可以通过将浏览器指向 localhost:8001
来使用 Redis Insight。
使用 redis-cli 连接
然后您可以使用 redis-cli
连接到服务器,就像您连接到任何 Redis 实例一样。
如果您本地没有安装 redis-cli
,则可以从 Docker 容器中运行它
$ docker exec -it redis-stack redis-cli
配置
Docker 中的持久化
要将目录或文件挂载到您的 Docker 容器,请指定 -v
来配置本地卷。此命令将所有数据存储在本地目录 local-data
中
$ docker run -v /local-data/:/data redis/redis-stack:latest
端口
如果您想在不同的端口上公开 Redis Stack 服务器或 Redis Insight,请更新 -p
参数的左侧部分。此命令在端口 10001
上公开 Redis Stack 服务器,在端口 13333
上公开 Redis Insight
$ docker run -p 10001:6379 -p 13333:8001 redis/redis-stack:latest
配置文件
默认情况下,Redis Stack Docker 容器使用 Redis 的内部配置文件。要使用本地配置文件启动 Redis,您可以使用 -v
卷选项
$ docker run -v `pwd`/local-redis-stack.conf:/redis-stack.conf -p 6379:6379 -p 8001:8001 redis/redis-stack:latest
环境变量
要传入任意配置更改,您可以设置以下任意环境变量
-
REDIS_ARGS
:Redis 的额外参数 -
REDISEARCH_ARGS
:搜索和查询功能(RediSearch)的参数 -
REDISJSON_ARGS
:JSON(RedisJSON)的参数 -
REDISTIMESERIES_ARGS
:时间序列(RedisTimeSeries)的参数 -
REDISBLOOM_ARGS
:概率数据结构(RedisBloom)的参数
例如,以下是如何使用 REDIS_ARGS
环境变量将 requirepass
指令传递给 Redis
docker run -e REDIS_ARGS="--requirepass redis-stack" redis/redis-stack:latest
设置 Redis 持久化 的示例
docker run -e REDIS_ARGS="--save 60 1000 --appendonly yes" redis/redis-stack:latest
以下是如何为时间序列设置保留策略
docker run -e REDISTIMESERIES_ARGS="RETENTION_POLICY=20" redis/redis-stack:latest