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

Gradle构建Jenkins镜像时Docker COPY命令失败:找不到id_rsa

Gradle构建Docker镜像时COPY id_rsa失败的解决办法

问题场景

在Gradle构建流程中,尝试将私钥文件id_rsa复制到Jenkins镜像时,Dockerfile的COPY命令执行失败,报错如下:

#8 [3/5] COPY id_rsa /root/.ssh/id_rsa #8 ERROR: failed to calculate checksum of ref moby::t3o0ztz0sagnjtmsnde7vh23m: "/id_rsa": not found

完整Dockerfile

FROM jenkins/jenkins:lts-jdk11

COPY plugins.txt /usr/share/jenkins/ref/plugins.txt

COPY id_rsa /root/.ssh/id_rsa

RUN jenkins-plugin-cli --plugin-file /usr/share/jenkins/ref/plugins.txt

COPY seedJob.xml /usr/share/jenkins/ref/jobs/seed-job/config.xml

ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false

已尝试的操作

  • 直接执行docker build -t testimage:1 .可成功构建,确认问题仅出现在Gradle构建场景中
  • 将id_rsa移动至多个目录(含与Dockerfile同目录),问题未解决
  • 替换COPY为ADD命令,报错信息一致
  • 尝试给文件添加.txt扩展名,无效
  • 注意到报错中文件名前多了一个/,推测问题出在源文件名的处理逻辑上

解决方案

在build.gradle的docker配置块的files部分,显式声明需要复制的id_rsa文件即可。Docker构建时用到的所有本地文件/目录,都必须在此处声明。配置示例如下:

docker {
    name "${project.name}:${project.version}"
    files "plugins.txt", "seedJob.xml", "id_rsa"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 04:44:58