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

Dockerfile构建Jenkins时jenkins.war权限拒绝问题求助

非权限设置类解决方案

错误根源说明

切换到jenkins用户后,当前工作目录仍为/root(之前root用户的工作目录),jenkins用户无该目录写入权限,导致curl无法创建文件——你添加的chmod是下载成功后才会执行的命令,根本没机会运行。

方案1:切换到jenkins有权限的目录执行下载

利用之前创建的/srv/backup目录(已设置为jenkins用户所有),先切换到该目录再下载:

USER jenkins
RUN cd /srv/backup && curl -O https://get.jenkins.io/war-stable/2.303.2/jenkins.war && chmod 777 jenkins.war

或者用WORKDIR指定默认工作目录:

USER jenkins
WORKDIR /srv/backup
RUN curl -O https://get.jenkins.io/war-stable/2.303.2/jenkins.war && chmod 777 jenkins.war

方案2:直接下载到Jenkins初始化引用目录

/usr/share/jenkins/ref是Jenkins官方镜像预留的初始化资源目录,jenkins用户对其有写入权限,直接指定下载路径即可:

USER jenkins
RUN curl -o /usr/share/jenkins/ref/jenkins.war https://get.jenkins.io/war-stable/2.303.2/jenkins.war && chmod 777 /usr/share/jenkins/ref/jenkins.war

方案3:在root用户阶段完成下载(绕开权限问题)

提前以root用户身份下载war包,再将文件归属转交给jenkins,避免切换用户后的权限限制:

# 保留在root用户阶段执行下载
RUN curl -O https://get.jenkins.io/war-stable/2.303.2/jenkins.war && chown jenkins:jenkins jenkins.war && chmod 777 jenkins.war
USER jenkins
# 后续命令不变
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN jenkins-plugin-cli -f /usr/share/jenkins/ref/plugins.txt
ENV JAVA_HOME /usr/lib/jvm/java-17-openjdk-amd64

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 04:05:26