CentOS下启动Redis官方容器时提示Unsupported system page size的解决方法
问题现象描述
在TaiShan服务器CentOS 7.6上使用docker run -it --rm redis命令启动Redis官方容器,提示如下信息:
<jemalloc>: Unsupported system page size <jemalloc>: Unsupported system page size
关键过程、根本原因分析
Redis在新版本中默认使用了jemalloc进行内存管理。
由于jemalloc 在编译时就决定了page size的大小,而这个page size会由于kernel的配置而改变,因此jemalloc在某个机器上编译,然后运行在其它机器上时可能会出现问题。
推测可能是由于官方ARM镜像的编译环境的page size与当前运行环境的page size不一致导致的问题。
结论、解决方案及效果
在运行环境下,重新编译构建Redis镜像,即可解决该问题。
- 获取Redis官方镜像的dockerfile。
git clone https://github.com/docker-library/redis.git
- 进入对应版本的dockerfile目录。
cd redis
- 准备构建5.0版本的Redis镜像。
cd 5.0
- 构建镜像。
docker build -t redis:5.0 .
- 运行redis:5.0镜像,查看控制台输出,确认Redis成功启动。
docker run -it --rm redis:5.0
父主题: 其他