jenkins - 使用 Jenkins CloudBees Docker 自定义构建环境插件时无法使用 Dockerfile

标签 jenkins docker jenkins-plugins dockerfile

我尝试按照此处的指南使用“在 docker 容器内构建”和选项“从 Dockerfile 构建”CloudBees Docker Custom Build Environment Plugin

我已将 Dockerfile 放在工作区根目录 (/var/lib/jenkins/jobs/lumi/workspace) 下。然后当触发构建时,我在下面收到错误。我认为它能够找到 Dockerfile,但由于某种原因无法构建镜像。

Build Docker image from ./Dockerfile ...
$ docker build --tag b916af9f0b3e48425cb54c323d1a3adb749a72a1 --file Dockerfile /var/lib/jenkins/jobs/lumi/workspace
The Dockerfile (Dockerfile) must be within the build context (/var/lib/jenkins/jobs/lumi/workspace)
FATAL: Failed to build docker image from project Dockerfile
java.lang.RuntimeException: Failed to build docker image from project Dockerfile
    at com.cloudbees.jenkins.plugins.docker_build_env.Docker.buildImage(Docker.java:116)
    at com.cloudbees.jenkins.plugins.docker_build_env.DockerfileImageSelector.prepareDockerImage(DockerfileImageSelector.java:47)
    at com.cloudbees.jenkins.plugins.docker_build_env.DockerBuildWrapper.setUp(DockerBuildWrapper.java:126)
    at hudson.model.Build$BuildExecution.doRun(Build.java:156)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
    at hudson.model.Run.execute(Run.java:1741)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:381)
Finished: FAILURE

以下是Dockerfile的内容:
FROM php:5.6.11-apache

提前致谢。

最佳答案

我想终于得到了答案!

我刚刚遇到了和你现在一样的问题,这实际上很愚蠢。

我假设您已在项目配置页面中勾选了“在 Docker 容器内构建”。您还必须指定一个路径,以确保 Dockerfile 位于存储库内。

这就是重点。如果此路径中存在Dockerfile,则“Dockerfile”旁边的写入空间必须留空。我猜这个空间在于使用不在指定路径内的 Dockerfile。如果没有这个,Jenkins 会假设你的 Dockerfile 位于你指定的空间内,并且不会考虑任何其他位置。

由于我是 StackOverflow 的新手,我还不能发布任何屏幕截图。但是当我可以的时候,我会确保你拥有它,这样我就可以更容易地表达我的观点。

我真诚地希望这会有所帮助。我在输出中有相同类型的错误消息,现在我可以轻松构建我的 Docker 镜像。

关于jenkins - 使用 Jenkins CloudBees Docker 自定义构建环境插件时无法使用 Dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31907535/

相关文章:

docker - 容器ifconfig和nslookup IP不匹配

docker - 无法使用 Dockerfile 构建 .Net Core MVC 解决方案 : Project not found, 缺少目标,项目无效

android - 将 unity3d 构建自动部署到许多 android 设备

docker - 在容器中构建和测试更好吗?

php - 无法执行包含来自php文件的docker命令的bash脚本

停止工作时的 Jenkins 拆卸

jenkins - 构建成功后从远程计算机上的工作区执行 Shell 脚本 (Jenkins)

Git pull 失败,得到 "The remote end hung up unexpectedly",Windows XP Jenkins slave

git - 如何调试 Cannot run program "C:\Program Files\Git"in a Jenkins job?

jenkins - 问: How can I save an artifact into Nexus Repository using a groovy pipeline?