在 Docker 上运行 Redis Stack
如何使用 Docker 安装 Redis Stack
Redis 开源版本 |
---|
要开始使用 Docker 运行 Redis Stack,首先需要选择一个 Docker 镜像
-
redis/redis-stack
包含 Redis Stack server 和 Redis Insight。此容器最适合本地开发,因为您可以使用嵌入的 Redis Insight 可视化数据。 -
redis/redis-stack-server
仅提供 Redis Stack server。此容器最适合生产部署。
入门
redis/redis-stack-server
要使用 redis-stack-server
镜像启动 Redis Stack server,请在终端中运行以下命令
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
命令还将 Redis Insight 暴露在端口 8001。您可以通过将浏览器指向 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 server 或 Redis Insight,请更新 -p
参数的左侧部分。此命令将 Redis Stack server 暴露在端口 10001
,将 Redis Insight 暴露在端口 13333
$ docker run -p 10001:6379 -p 13333:8001 redis/redis-stack:latest
配置文件
默认情况下,Redis Stack Docker 容器使用内部配置文件。要使用本地配置文件启动 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