在Jenkinsdocker集装箱中使用dockerbuild造步骤插件
我有一个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 docker version
和docker docker ps
命令。
现在我已经安装了Docker构build步骤插件。
我的问题是我该如何使用和configuration这个插件?
在全局configuration中我看到:
- Docker安装程序(我想我不需要)
- Docker构build器:Docker服务器REST API URL
所以我不知道如何configuration这个。
当我试图在Jenkins Job中使用插件执行docker命令时,出现错误; 我不能在我的作业里保存docker命令的configuration,我在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 {}
我怎样才能在一个jenkins-docker容器中configuration这个插件?
- 将docker守护进程从unix套接字更改为tcp / 2375
- 在Jenkins / Settings / Docker Builder / Docker URL部分,在端口2375添加docker rest-url(即使TEST不起作用)
放在172.17.0.1:2375(其中172.17.0.1是运行docker守护进程的主机)