在 Docker 上运行 Redis Stack
如何使用Docker安装Redis Stack
要开始使用Redis Stack和Docker,首先需要选择一个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