构建Jenkins Docker镜像时出现错误。

4
我正在尝试使用本地的Jenkins Dockerfile构建Jenkins的Docker镜像,但是一直出现这个错误。
Step 17/34 : COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groovy
COPY failed: stat /var/lib/docker/tmp/docker-builder028619870/init.groovy: no such file or directory

这是我使用的 Dockerfile 的链接。 这是我使用的构建命令(Dockerfile 在 PWD 中):

docker build -t jenkins-k8s .

请分享您的Dockerfile文件 - 这样我们才能帮助您。 - adbo
我还没有修改Dockerfile文件。该文件可以在我提到的链接中找到。这是文件的相同网络链接:https://github.com/jenkinsci/docker/blob/587b2856cd225bb152c4abeeaaa24934c75aa460/Dockerfile - Abhishek
你正在运行这个 Docker 命令的路径是哪个?并检查你的系统中是否存在 init.groovy 文件。 - Arora20
1
我几天前遇到了同样的问题。当文件或目录添加到$PWD的某个位置时,对我有用。在你的情况下,init.groovy应该在$PWD中。它是否可用? - Arora20
2
它存在于同一个 Git 存储库中。 - Arora20
显示剩余2条评论
2个回答

1
你可以在这些 Github Repo 中看到一个名为 init.groovy 的文件。 而在 Dockerfile 中有一个语句,如下:
COPY init.groovy /SOME/PATH/IN/THE/CONTAINER

当您想要使用此Dockerfile时,您必须下载init.groovy。但是在这些Dockerfile中还有更多的COPY语句。

不知道您是否需要这样一个庞大的Dockerfile来满足您的需求。

对于我们的需求,我们只使用来自DockerHub的官方ParentImage。

FROM jenkins/jenkins:2.73.3

USER root
ENV TZ=Europe/Berlin
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > 
/etc/timezone

USER jenkins

你可以根据需要更改版本和时区。

0

在构建Dockerfile之前,我建议先克隆git存储库:

git clone https://github.com/jenkinsci/docker

cd docker 

git checkout 587b2856cd225bb152c4abeeaaa24934c75aa460  # Switch to the version you mentioned in the question.

docker build -t jenkins-k8s .

通过这样做,您保证拥有构建Dockerfile所需的全部文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接