用jenkins的dockerfile创建docker映像

用jenkins的dockerfile创建docker映像,jenkins,docker,jenkins-plugins,dockerfile,Jenkins,Docker,Jenkins Plugins,Dockerfile,我从昨天起就被封锁了,需要帮助。我尝试使用jenkins docker插件和docker插件步骤从docker文件构建docker映像 但是,当我尝试运行jenkins作业时,会出现以下异常: Docker Build Docker Build : build with tag jdubois/jhipster-docker:Gateway_Jenkins_V1 at path /home/javateam/DockerfileGateway ERROR: Build step failed w

我从昨天起就被封锁了,需要帮助。我尝试使用jenkins docker插件和docker插件步骤从docker文件构建docker映像

但是,当我尝试运行jenkins作业时,会出现以下异常:

Docker Build
Docker Build : build with tag jdubois/jhipster-docker:Gateway_Jenkins_V1 at path /home/javateam/DockerfileGateway
ERROR: Build step failed with exception
java.lang.NullPointerException: config was not specified
    at shaded.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:226)
    at com.github.dockerjava.core.DockerClientImpl.<init>(DockerClientImpl.java:36)
    at com.github.dockerjava.core.DockerClientImpl.getInstance(DockerClientImpl.java:52)
    at com.github.dockerjava.core.DockerClientBuilder.getInstance(DockerClientBuilder.java:29)
    at com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher$Run$1.invoke(DockerBuilderPublisher.java:144)
    at com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher$Run$1.invoke(DockerBuilderPublisher.java:139)
    at hudson.FilePath.act(FilePath.java:991)
    at hudson.FilePath.act(FilePath.java:969)
    at com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher$Run.buildImage(DockerBuilderPublisher.java:139)
    at com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher$Run.run(DockerBuilderPublisher.java:89)
    at com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher.perform(DockerBuilderPublisher.java:180)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.build(MavenModuleSetBuild.java:915)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:866)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
    at hudson.model.Run.execute(Run.java:1744)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:374)
Build step 'Build / Publish Docker Containers' marked build as failure
Finished: FAILURE

我做错了什么???

另一种选择是使用Jenkins提供的shell作为构建步骤,只需使用该shell脚本中通常使用的命令行参数构建Docker映像


这就是我们在构建服务器上所做的,它为我们提供了对版本控制以及将哪个映像/标记推送到Dockerhub等方面的细粒度控制。

如果您使用的是Jenkins 2.0或更高版本,Jenkins为您提供了一个将管道构建为代码的选项,您可以轻松地集成docker及其存储库

转到->新建项目->选择多分支管道选项,您将看到通过Jenkins连接到docker的选项


如果有更多详细信息,请告诉我。

您能出示您的Dockerfile吗?没有它就很难猜测。网关MS的基本映像:来自jdubois/jhipster docker:Gateway_Jenkins_V1从gitlab获取最后一个网关MS版本并运行它:运行cd/home/jhipster/DockerJenkinsGateway&\git pull origin master公开工作目录、Tomcat端口、BrowserSync端口、SSHD端口、,然后运行SSHD:VOLUME[/jhipster]EXPOSE 8080 3000 3001 22 CMD/usr/sbin/SSHD-d当人们询问更多信息时,请更新您的问题,而不是将其粘贴为注释,因为您可以看到注释不允许格式化预格式化的文本,这也使得阅读非常困难,花一分钟阅读问题中有关正确格式化预格式化文本(如dockerfile)的文档。这似乎是Jenkins插件的配置问题。底层docker java库检查是否存在似乎为空的DockerClientConfig。它甚至可能是Maven pom.xml中缺少的配置。jenkins下的dockerfile配置和pom.xml内容之间没有关系@谢谢你的回答。我就是这么做的。但是jenkins社区必须开发插件来完成这类重要的工作。是的,据我所知,困难在于推送大量的标签/知道要推送哪些标签,这就是为什么其中一些不能很好地工作的原因。就在我的笔记本电脑上,我以前试着推十个左右的标签导致了错误。也许还有其他的事情,但这就是我脑海中浮现的一件事!这个jenkins插件的文档尤其糟糕。如果没有正确填写,其中一个关键配置字段将被阻止。当您单击帮助图标时,该字段将显示以下有用的对话框:TODO:Docker REST API endpointhelp@Petrov:您知道如何配置该字段吗?
#Basic images for Gateway MS
FROM jdubois/jhipster-docker:Gateway_Jenkins_V1

#Fetch last Gateway MS version from gitlab and run it
RUN cd /home/jhipster/DockerJenkinsGateway && \
git pull origin master

# expose the working directory, the Tomcat port, the BrowserSync ports, the SSHD port, and run SSHD
VOLUME ["/jhipster"]
EXPOSE 8080 3000 3001 22
CMD    /usr/sbin/sshd -D