问个redis及redisearch的问题,有懂的帮下忙

jasonliangbiz 2019-08-19 04:47:11
系统是centos7
安装了docker版redis,并且现在能正常运行.
安装redis用的命令是:

docker run -d --privileged=true -p 6666:6379 -v /usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data:/data --name myredis docker.io/redis:latest redis-server /etc/redis/redis.conf --appendonly yes


我现在想要安装docker版的redisearch,然后使用命令

docker run -p 6667:6379 -v /usr/redisearch/data:/data redislabs/redisearch


现在问题来了, 怎么配置redis.conf这个文件?
感谢!
...全文
674 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_39507514 2022-03-22
  • 打赏
  • 举报
回复

兄dei还在不,我这边这样下载redisearch docker run -p 6667:6379 --name redisearch -v /user/longcheng/redis.conf:/etc/redis/redis.conf redislabs/redisearch 他是可以运行了,但是没有设置redis的密码呀

  • 打赏
  • 举报
回复
大佬能指教一下吗,我现在是windows 上用redis和redisearch 然后docker运行了redis 和redisearch,之后该怎么办 啊,上面的太绕了看不懂
XBodhi. 2019-08-20
  • 打赏
  • 举报
回复
学习了
X-i-n 2019-08-19
  • 打赏
  • 举报
回复
redis.conf里有 logfile xxxx.log 这个就是日志文件的位置。
jasonliangbiz 2019-08-19
  • 打赏
  • 举报
回复
解决!!

非常感谢X-i-n的帮忙.如他所说的,redis.conf是两份, redis里的redis.conf跟redisearch里的redis.conf不是同一个文件 redisearch里的redis.conf内容只要 loadmodule /usr/lib/redis/modules/redisearch.so 即可.

redis里的redis.conf末尾不需要loadmodule

我去, 真的绕啊!!!

记下,以便往后有人需要查找的.
TAG: redis及redisearch都在docker里如何配置
qq_42557082 2022-01-18
  • 举报
回复
@jasonliangbiz 请问,redisearch的配置文件在哪里,直接复制redis的redis.conf吗?
jasonliangbiz 2019-08-19
  • 打赏
  • 举报
回复

在不加载loadmodule配置,正常启动redis后, 用 module load /usr/lib/redis/modules/redisearch.so
还是报错.



提示查报错信息. (顺便问下这个报错信息在哪里?)
X-i-n 2019-08-19
  • 打赏
  • 举报
回复
我没有用过redisearch,这个镜像里没有redis-server?如果有的话就不需要 redis容器。 如果你用两个容器,需要为两个容器各自指定conf文件 redis容器:-v 物理机的redis版conf文件:/etc/redis/redis.conf,就行了。 redisearch容器: -v 物理机的redisearch版conf文件:/etc/redis/redis.conf 确保redisearch.so存在,然后在conf文件里指定正确的so文件路径;如果没有这个文件,就把物理机的so文件挂载进去。
jasonliangbiz 2019-08-19
  • 打赏
  • 举报
回复
还是不行.
redis.conf最后加入如图

然后重启docker后,docker 里的redis启动不起来. 如果删掉loadmodule配置的话就能启动.


真的是让人抓狂!!!

PS: redis跟redisearch都是在docker里的喔. @X-i-n
X-i-n 2019-08-19
  • 打赏
  • 举报
回复
把容器当成一个单独的系统。应该填这个“系统”里的路径,比如 /usr/lib/redis/modules/redisearch.so 你的 /var/lib/docker/overlay2/3a418883cdc91f06ae57f3502269407068477b0f30f6b01ae6ddea03b7c0cfc4/diff/usr/lib/redis/modules/redisearch.so 是容器文件在真实机器里存储的位置。
jasonliangbiz 2019-08-19
  • 打赏
  • 举报
回复
引用 5 楼 X-i-n 的回复:
镜像里有,就填镜像里的路径;
镜像没有,本地存一份( 路径1 ),然后也是用-v挂载到docker里( 路径2,地址任意 )。
不管哪种情况,红色的这个地址,都是用docker里的地址 (路径2)。
不过我觉得这个镜像应该不会没有so文件吧,本身已经是redisearch镜像了。


用find命令找到有redisearch.so文件两个(下图).
然后在redis.conf里loadmodule 是这样写的

loadmodule /var/lib/docker/overlay2/3a418883cdc91f06ae57f3502269407068477b0f30f6b01ae6ddea03b7c0cfc4/diff/usr/lib/redis/modules/redisearch.so

然后重启docker 如图:


docker里的redis就启动不起来了.
删掉loadmodule的配置就可以. 真是郁闷了
是哪里出错了?
我这样
X-i-n 2019-08-19
  • 打赏
  • 举报
回复
镜像里有,就填镜像里的路径; 镜像没有,本地存一份( 路径1 ),然后也是用-v挂载到docker里( 路径2,地址任意 )。 不管哪种情况,红色的这个地址,都是用docker里的地址 (路径2)。 不过我觉得这个镜像应该不会没有so文件吧,本身已经是redisearch镜像了。
jasonliangbiz 2019-08-19
  • 打赏
  • 举报
回复
引用 3 楼 X-i-n 的回复:
要啊。配置文件正常编辑,然后-v挂载到容器里。

现在遇到的问题就是配置redis.conf这个文件.
我是在redis.conf最后一行加 loadmodule [地址]
上面红色的[地址] 我应该填什么?
因为是在docker里的,这个redisearch.so在哪里呢?
X-i-n 2019-08-19
  • 打赏
  • 举报
回复
要啊。配置文件正常编辑,然后-v挂载到容器里。
jasonliangbiz 2019-08-19
  • 打赏
  • 举报
回复
引用 1 楼 X-i-n 的回复:
用参数 -v /usr/redis/redis.conf:/etc/redis/redis.conf 挂载一下就行。

你是说不用在redis.conf文件里写loadmodule吗?
直接
docker run -p 6667:6379 -v /usr/redis/redis.conf:/etc/redis/redis.conf redislabs/redisearch
这样就可以了?
X-i-n 2019-08-19
  • 打赏
  • 举报
回复
用参数 -v /usr/redis/redis.conf:/etc/redis/redis.conf 挂载一下就行。

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧