系統是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這個檔案?
感謝!
uj5u.com熱心網友回復:
用引數 -v /usr/redis/redis.conf:/etc/redis/redis.conf 掛載一下就行。uj5u.com熱心網友回復:
你是說不用在redis.conf檔案里寫loadmodule嗎?
直接
docker run -p 6667:6379 -v /usr/redis/redis.conf:/etc/redis/redis.conf redislabs/redisearch
這樣就可以了?
uj5u.com熱心網友回復:
要啊。組態檔正常編輯,然后-v掛載到容器里。uj5u.com熱心網友回復:
現在遇到的問題就是配置redis.conf這個檔案.
我是在redis.conf最后一行加 loadmodule [地址]
上面紅色的[地址] 我應該填什么?
因為是在docker里的,這個redisearch.so在哪里呢?
uj5u.com熱心網友回復:
鏡像里有,就填鏡像里的路徑;鏡像沒有,本地存一份( 路徑1 ),然后也是用-v掛載到docker里( 路徑2,地址任意 )。
不管哪種情況,紅色的這個地址,都是用docker里的地址 (路徑2)。
不過我覺得這個鏡像應該不會沒有so檔案吧,本身已經是redisearch鏡像了。
uj5u.com熱心網友回復:
用find命令找到有redisearch.so檔案兩個(下圖).
然后在redis.conf里loadmodule 是這樣寫的
loadmodule /var/lib/docker/overlay2/3a418883cdc91f06ae57f3502269407068477b0f30f6b01ae6ddea03b7c0cfc4/diff/usr/lib/redis/modules/redisearch.so
然后重啟docker 如圖:

docker里的redis就啟動不起來了.
刪掉loadmodule的配置就可以. 真是郁悶了
是哪里出錯了?
我這樣
uj5u.com熱心網友回復:
把容器當成一個單獨的系統。應該填這個“系統”里的路徑,比如 /usr/lib/redis/modules/redisearch.so你的
/var/lib/docker/overlay2/3a418883cdc91f06ae57f3502269407068477b0f30f6b01ae6ddea03b7c0cfc4/diff/usr/lib/redis/modules/redisearch.so
是容器檔案在真實機器里存盤的位置。
uj5u.com熱心網友回復:
還是不行.redis.conf最后加入如圖

然后重啟docker后,docker 里的redis啟動不起來. 如果刪掉loadmodule配置的話就能啟動.

真的是讓人抓狂!!!PS: redis跟redisearch都是在docker里的喔. @X-i-n
uj5u.com熱心網友回復:
我沒有用過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檔案掛載進去。
uj5u.com熱心網友回復:

在不加載loadmodule配置,正常啟動redis后, 用 module load /usr/lib/redis/modules/redisearch.so
還是報錯.

提示查報錯資訊. (順便問下這個報錯資訊在哪里?)
uj5u.com熱心網友回復:

解決!!非常感謝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里如何配置
uj5u.com熱心網友回復:
redis.conf里有logfile xxxx.log
這個就是日志檔案的位置。
uj5u.com熱心網友回復:
學習了
uj5u.com熱心網友回復:
大佬能指教一下嗎,我現在是windows 上用redis和redisearch 然后docker運行了redis 和redisearch,之后該怎么辦 啊,上面的太繞了看不懂轉載請註明出處,本文鏈接:https://www.uj5u.com/net/3727.html
標籤:其他語言
上一篇:c# NPIO寫入EXCEL每次打開EXCEL都提示出錯。
下一篇:Razor_01 第一個應用程式
