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 正确姿势是?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

@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 就可以了

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

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

3年前 评论

@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 就可以了

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

@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"]
2年前 评论
cocaomouse 2年前

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