ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Docker安装 Redis Stack(开发适配-提供 Redis Stack 服务器和RedisInsight可视化) (6.2.2-v3版本)

2022-05-06 12:35:08  阅读:300  来源: 互联网

标签:opt 适配 ARGS redis stack so Redis Stack


一、使用docker安装(开发适配-提供 Redis Stack 服务器和RedisInsight) (6.2.2-v3版本) 简介


  • 安装命令根据实际部署情况调整
  • 版本地址:官方镜像主页 | 发布版Tags
  • 指定版本命令-推荐 : docker pull redis/redis-stack:6.2.2-v3
  • 最新版本命令-不推荐 : docker pull redis/redis-stack:latest
  • 文档更新记录:2022/05/06 当前最新稳定版本6.2.2-v3
  • redis/redis-stack包含 Redis Stack 服务器和 RedisInsight。此容器最适合本地开发,因为您可以使用嵌入式 RedisInsight 来可视化您的数据。
  • redis/redis-stack-server仅提供 Redis Stack 服务器。此容器最适合生产部署。
  • 官方安装指导

二、安装

1.Docker安装点击此处,如果已经安装则跳过

2.安装Redis Stack(推荐仅用作开发环境,生产环境使用redis/redis-stack-server)

$ docker pull redis/redis-stack:6.2.2-v3
$ mkdir -p /opt/docker/redis-stack/data
$ docker run \
-p 自定义Redis端口:6379 \
-p 自定义RedisInsight端口:8001 \
-e REDIS_ARGS="--requirepass 自定义密码" \
-v /opt/docker/redis-stack/data:/data:rw \
--name redis-stack-6-2-2-v3 \
-d redis/redis-stack:6.2.2-v3

#备注:
    1)6379为Redis端口,请自定义映射端口
    2)8001为RedisInsight可视化页面端口,请自定义映射端口
    3)requirepass为自定义密码,其他模块的参数参考 步骤3说明 ,使用 -e 传入容器,参数具体内容查看Redis官网具体模块的配置说明
    4)redis-stack.conf为配置文件,此处不持久化到本地了,没什么必要,参考 步骤4说明
    5)进入容器的命令:docker exec -it redis-stack-6-2-2-v3 /bin/bash
    6) 按需使用的参数,非必须,一般使用 -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 时间。
		-----------------------------------------------------------------------------

3. 说明:其他环境变量说明(仅说明,根据个人使用去修改步骤2的参数)

要传入任意配置更改,您可以设置以下任何环境变量:

  • 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:latest

以下是为 RedisTimeSeries 设置保留策略的方法:

docker run -e REDISTIMESERIES_ARGS="RETENTION_POLICY=20" redis/redis-stack:latest

4.说明:redis-stack.conf配置文件无太多东西,无需映射到本地,以下为具体redis相关的配置内容,路径为容器内路径

/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,其他配置通过启动命令提供即可,省事,记得记录下启动命令

标签:opt,适配,ARGS,redis,stack,so,Redis,Stack
来源: https://www.cnblogs.com/virtulreal/p/16228206.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有