laradock 怎么安装包含布隆过滤器版本的 redis ?

1、尝试修改了 redis/Dockerfile 文件的基础镜像为

#FROM redis:latest
# 包含布隆过滤器的 Redis 服务器
FROM redislabs/rebloom:latest

然后重新构建镜像

docker-compose stop redis
docker-compose build --no-cache redis
docker-compose up -d redis

连接 redis 测试,发现无法执行 bf 的命令

127.0.0.1:6379> bf.add key value
(error) ERR unknown command `bf.add`, with args beginning with: `key`, `value`,
127.0.0.1:6379>

2、我也试过通过 docker 直接启动一个容器

docker run -p 6379:6379 --name redis-bloom redislabs/rebloom:latest

然后连接 redis 测试,发现可以执行 bf 的命令

127.0.0.1:6379> bf.add key value
(integer) 1
127.0.0.1:6379>

3、所以 laradock 环境下安装包含布隆过滤器版本的 redis 正确姿势是?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

@voojo 这个没试过,不过已经找到解决办法

redis/Dockerfile 最终修改如下:

#FROM redis:latest
# 包含布隆过滤器的 Redis 服务器
FROM redislabs/rebloom:latest

LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"

## For security settings uncomment, make the dir, copy conf, and also start with the conf, to use it
RUN mkdir -p /usr/local/etc/redis
COPY redis.conf /usr/local/etc/redis/redis.conf

VOLUME /data

EXPOSE 6379

CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]
#CMD ["redis-server"]

redis/redis.conf 修改

注释 bind 127.0.0.1
protected-mode 修改 no

再重新 build 就可以了

4年前 评论
cocaomouse 3年前
muggle (作者) (楼主) 3年前
讨论数量: 3

原镜像以插件形式安装试试

4年前 评论

@voojo 这个没试过,不过已经找到解决办法

redis/Dockerfile 最终修改如下:

#FROM redis:latest
# 包含布隆过滤器的 Redis 服务器
FROM redislabs/rebloom:latest

LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"

## For security settings uncomment, make the dir, copy conf, and also start with the conf, to use it
RUN mkdir -p /usr/local/etc/redis
COPY redis.conf /usr/local/etc/redis/redis.conf

VOLUME /data

EXPOSE 6379

CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]
#CMD ["redis-server"]

redis/redis.conf 修改

注释 bind 127.0.0.1
protected-mode 修改 no

再重新 build 就可以了

4年前 评论
cocaomouse 3年前
muggle (作者) (楼主) 3年前

@cocaomouse

插件形式安装:

贴一下我当时的配置:

FROM redis:latest
## 包含布隆过滤器的 Redis 服务器
#FROM redislabs/rebloom:latest
## 包含搜索引擎的 Redis 服务器
#FROM redislabs/redisearch:latest

#ARG REBLOOM_VERSION=2.2.4
#ARG REDISEARCH_VERSION=2.0.5
## https://github.com/RedisBloom/RedisBloom/archive/v2.2.4.tar.gz
## https://github.com/RediSearch/RediSearch/archive/v2.0.5.tar.gz

LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"

# Copy redisbloom.so file and redisearch.so file to container
# Remember to modify the settings of modules in redis.conf
# Like below
# loadmodule /usr/lib/redis/modules/redisbloom.so
# loadmodule /usr/lib/redis/modules/redisearch.so
RUN mkdir -p /usr/lib/redis/modules
COPY redisbloom.so /usr/lib/redis/modules/
COPY redisearch.so /usr/lib/redis/modules/

## For security settings uncomment, make the dir, copy conf, and also start with the conf, to use it
RUN mkdir -p /usr/local/etc/redis
COPY redis.conf /usr/local/etc/redis/redis.conf

VOLUME /data

EXPOSE 6379

CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]
#CMD ["redis-server"]
3年前 评论
cocaomouse 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!