You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker构建报错:No rule to make target `hiredis'问题求助

解决Dockerfile安装Redis时的"No rule to make target `hiredis'"错误

问题根源在于Dockerfile的指令执行上下文:每个RUN指令都在独立的容器环境中运行,cd redis-stable/deps仅对当前RUN生效,后续RUN会回到默认工作目录(通常是/),导致make命令找不到hiredis的Makefile,从而触发报错。

修正方案是将Redis下载、编译相关命令合并到同一个RUN中,用&&串联,确保全程在正确的目录下执行:

# 合并yum安装命令,减少镜像层数,安装后清理缓存
RUN yum install -y java-17-amazon-corretto.x86_64 tar wget gcc make \
    && yum -y update \
    && yum clean all

# 合并Redis下载、解压、编译安装流程,保证目录上下文连续
RUN wget http://download.redis.io/redis-stable.tar.gz \
    && tar xvzf redis-stable.tar.gz \
    && cd redis-stable/deps \
    && make hiredis jemalloc linenoise lua geohash-int \
    && cd .. \
    && make install \
    # 清理临时文件,缩减镜像体积
    && rm -rf /redis-stable*

额外优化建议:

  • 合并多个RUN指令可减少镜像层数,提升构建效率与镜像性能
  • 执行yum clean all清理yum缓存,避免不必要的体积占用
  • 安装完成后删除Redis源码包,进一步压缩镜像大小

内容的提问来源于stack exchange,提问作者Anisha Mathais

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:10:38