1、获取源码

源码地址:https://redis.io/download/#redis-downloads 

最新版本是7.2,这里用redis5测试,最后一个版本是5.0.14

wget https://download.redis.io/releases/redis-5.0.14.tar.gz
tar -zxvf redis-5.0.14.tar.gz 
cd redis-5.0.14/

2、修改源码

redis 用到了jemalloc库,如果不更新redis 7源码自带的config.guess和config.sub文件,会在编译redis 源码的过程中提示include jemalloc的头文件失败(zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory)

这里需要修改以下源码才可以编译:

cd /redis-5.0.14/deps/jemalloc/build-aux
vi config.sub
然后在以下地方新增以下内容:

145行修改为:

-mips* | -loongarch* 

275行修改为:

| mips64 | mips64el | loongarch64 \

402行修改为:

| mips64-* | mips64el-* | loongarch64-* \

1632行新增:

 loongarch*-*)
       os=-elf
        ;;
vi config.guess

1006行新增以下内容:

loongarch64:Linux:*:*)
            echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
            exit ;;

以上内容均为编译中增加对loongarch架构的支持

3、编译

直接在源码下make

cd /opt/redis-5.0.14/
make

编译完成后,可执行文件在源码的/src目录下

4、镜像制作

制作方法有很多钟,我这里编译完成后直接将科执行文件导入现有容器中进行了制作,参考Dockerfile文件如下:

FROM lshxb/redis:5.0.14
WORKDIR /opt/redis
EXPOSE 6379

CMD ["./redis-server","./redis.conf"]
07-15 08:27