redis/redis-stack
包含 Redis Stack 服务器和 RedisInsight。此容器最适合本地开发,因为您可以使用嵌入式 RedisInsight 来可视化您的数据。redis/redis-stack-server
仅提供 Redis Stack 服务器。此容器最适合生产部署。$ docker pull redis/redis-stack-server:6.2.4-v2 $ mkdir -p /home/docker/redis-stack-server/data $ docker run \ -p 自定义Redis端口:6379 \ -e REDIS_ARGS="--requirepass 自定义密码" \ -v /home/docker/redis-stack-server/data:/data:rw \ --name redis-stack-server-6-2-4-v2 \ --restart=always \ -d redis/redis-stack-server:6.2.4-v2 #备注: 1)6379为Redis端口,请自定义映射端口 2)requirepass为自定义密码,其他模块的参数参考 步骤3说明 ,使用 -e 传入容器,参数具体内容查看Redis官网具体模块的配置说明 3)redis-stack.conf为配置文件,此处不持久化到本地了,没什么必要,参考 步骤4说明 4)进入容器的命令:docker exec -it redis-stack-server:6.2.4-v2 bash 5) 按需使用的参数,非必须,一般使用 -m 限制下内存就够用了,如 -m 512m 1>容器内存限制相关 ----------------------------------------------------------------------------- 选项 描述 -m,–memory 内存限制,格式是数字加单位,单位可以为 b,k,m,g。最小为 4M –memory-swap 内存+交换分区大小总限制。格式同上。必须必-m设置的大 –memory-reservation 内存的软性限制。格式同上 –oom-kill-disable 是否阻止 OOM killer 杀死容器,默认没设置 –oom-score-adj 容器被 OOM killer 杀死的优先级,范围是[-1000, 1000],默认为 0 –memory-swappiness 用于设置容器的虚拟内存控制行为。值为 0~100 之间的整数 –kernel-memory 核心内存限制。格式同上,最小为 4M ----------------------------------------------------------------------------- 2>容器CPU限制相关,一般使用 -m 限制下就够用了,如 -m 512m ----------------------------------------------------------------------------- 选项 描述 –cpuset-cpus="" 允许使用的 CPU 集,值可以为 0-3,0,1 -c,–cpu-shares=0 CPU 共享权值(相对权重) cpu-period=0 限制 CPU CFS 的周期,范围从 100ms~1s,即[1000, 1000000] –cpu-quota=0 限制 CPU CFS 配额,必须不小于1ms,即 >= 1000 –cpuset-mems="" 允许在上执行的内存节点(MEMs),只对 NUMA 系统有效 说明: 其中–cpuset-cpus用于设置容器可以使用的 vCPU 核。-c,–cpu-shares用于设置多个容器竞争 CPU 时, 各个容器相对能分配到的 CPU 时间比例。–cpu-period和–cpu-quata用于绝对设置容器能使用 CPU 时间。 -----------------------------------------------------------------------------
要传入任意配置更改,您可以设置以下任何环境变量:
REDIS_ARGS
: Redis 的额外参数REDISEARCH_ARGS
: RediSearch 的参数REDISJSON_ARGS
: RedisJSON 的参数REDISGRAPH_ARGS
: RedisGraph 的参数REDISTIMESERIES_ARGS
: RedisTimeSeries 的参数REDISBLOOM_ARGS
: RedisBloom 的参数REDIS_ARGS
环境变量将requirepass
指令传递给 Redis:docker run -e REDIS_ARGS="--requirepass redis-stack" redis/redis-stack-server:6.2.4-v2
以下是为 RedisTimeSeries 设置保留策略的方法:
docker run -e REDISTIMESERIES_ARGS="RETENTION_POLICY=20" redis/redis-stack-server:6.2.4-v2
/etc/redis-stack.conf
port 6379 daemonize no loadmodule /opt/redis-stack/lib/redisearch.so loadmodule /opt/redis-stack/lib/redisgraph.so loadmodule /opt/redis-stack/lib/redistimeseries.so loadmodule /opt/redis-stack/lib/rejson.so loadmodule /opt/redis-stack/lib/redisbloom.so
/opt/redis-stack/etc/redis-stack-service.conf
port 6379 daemonize no loadmodule /opt/redis-stack/lib/redisearch.so loadmodule /opt/redis-stack/lib/redisgraph.so loadmodule /opt/redis-stack/lib/redistimeseries.so loadmodule /opt/redis-stack/lib/rejson.so loadmodule /opt/redis-stack/lib/redisbloom.so
/opt/redis-stack/etc/redis-stack.conf
port 6379 daemonize yes
README
redis-stack-service.conf 复制到 /etc 用于 systemctl 案例 redis-stack.conf 位于 <package>/etc 用于用户编辑案例
也就是说/opt/redis-stack/etc/redis-stack.conf为最终生效配置会覆盖其他配置,所以daemonize为yes,其他配置通过启动命令提供即可,省事,记得记录下启动命令