Plugins 在Jenkins docker容器中使用docker构建步骤插件

Plugins 在Jenkins docker容器中使用docker构建步骤插件,plugins,jenkins,docker,Plugins,Jenkins,Docker,我在docker容器中有一个jenkins服务器: 我已经编辑了基本图像,所以我能够将docker套接字安装到我的容器中,并以jenkins用户的身份使用这些套接字 docker run -d -u jenkins --name jenkins \ -p 50000:50000 \ -p 8080:8080 \ --volumes-from jenkins-volume \ --restart=always \ -v /var/run/docker.sock:/var/ru

我在docker容器中有一个jenkins服务器:

我已经编辑了基本图像,所以我能够将docker套接字安装到我的容器中,并以jenkins用户的身份使用这些套接字

docker run -d -u jenkins --name jenkins \
  -p 50000:50000 \
  -p 8080:8080 \
  --volumes-from jenkins-volume \ 
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \ 
  test/jenkins:1.0
因此,我能够在jenkins容器(在shell中)中运行命令,例如
docker version
docker ps

现在我已经安装了docker build step插件

我的问题是如何使用和配置这个插件

在全局配置中,我看到:

  • Docker安装程序(我想我不需要)
  • Docker builder:Docker服务器REST API URL
所以我不知道如何配置它

当我尝试在Jenkins作业中使用插件执行docker命令时,我得到一个错误;我无法在作业中保存docker命令的配置,我在jenkins上的日志中看到以下错误:

Error while serving http://ip:8080/job/docker-test/configSubmit
java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor648.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
...
Caused by: javax.servlet.ServletException: This page expects a form submission but had only {}
如何在安装了docker套接字的jenkins docker容器中配置此插件

  • 将docker守护程序从unix套接字更改为tcp/2375
  • 在Jenkins/Settings/Docker Builder/Docker URL部分,在端口2375上添加Docker rest URL(即使测试不起作用)

  • 仅放置172.17.0.1:2375(其中172.17.0.1是运行docker守护程序的主机)

    使用tcp测试docker 1.12和jenkins 2.32,我必须放置tcp://172.17.0.1:2375 测试按钮工作正常