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

构建Apache NiFi镜像时遇cache key错误:/sh目录未找到

问题

我下载了用于创建Apache NiFi镜像的Dockerfile,在当前目录执行镜像构建时出现错误:

=> ERROR [2/8] ADD sh/ /opt/nifi/scripts/ 0.0s
failed to compute cache key: "/sh" not found: not found

我认为当前目录的构建路径没问题,不清楚错误原因,请求帮助。

引发问题的Dockerfile片段如下:

ARG IMAGE_NAME=openjdk
ARG IMAGE_TAG=8-jre
FROM ${IMAGE_NAME}:${IMAGE_TAG}
ARG MAINTAINER="Apache NiFi <dev@nifi.apache.org>"
LABEL maintainer="${MAINTAINER}"
LABEL site="https://nifi.apache.org"

ARG UID=1000
ARG GID=1000
ARG NIFI_VERSION=1.19.0
ARG BASE_URL=https://archive.apache.org/dist
ARG MIRROR_BASE_URL=${MIRROR_BASE_URL:-${BASE_URL}}
ARG DISTRO_PATH=${DISTRO_PATH:-${NIFI_VERSION}}
ARG NIFI_BINARY_PATH=${NIFI_BINARY_PATH:-     /nifi/${DISTRO_PATH}/nifi-${NIFI_VERSION}-bin.zip}
ARG NIFI_TOOLKIT_BINARY_PATH=${NIFI_TOOLKIT_BINARY_PATH:-   /nifi/${DISTRO_PATH}/nifi-toolkit-${NIFI_VERSION}-bin.zip}

ENV NIFI_BASE_DIR=/adityavenkat/opt/nifi
ENV NIFI_HOME ${NIFI_BASE_DIR}/nifi-current
ENV NIFI_TOOLKIT_HOME ${NIFI_BASE_DIR}/nifi-toolkit-current

ENV NIFI_PID_DIR=${NIFI_HOME}/run
ENV NIFI_LOG_DIR=${NIFI_HOME}/logs

ADD sh/ ${NIFI_BASE_DIR}/scripts/
RUN chmod -R +x ${NIFI_BASE_DIR}/scripts/*.sh
解决方案
  • 问题根源:Docker执行ADD sh/ ...指令时,会在构建上下文目录(即你运行docker build的目录)中查找sh文件夹,但你仅下载了单独的Dockerfile,未同步获取配套的sh脚本目录,因此Docker无法找到该路径。
  • 解决办法:
    1. 获取Apache NiFi镜像构建所需的完整文件包,确保包含sh子目录(该目录存放NiFi启动、初始化等必备脚本)。
    2. 将sh目录与Dockerfile放在同一层级目录下,重新执行docker build .命令。
    3. 若无需自定义脚本,可删除Dockerfile中的ADD sh/ ...和RUN chmod -R +x ...指令,但此操作可能导致NiFi容器启动失败,不推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:15:30