docker安装Jenkins的坑

1. 安装插件提示: There were errors checking the update sites: SocketException: Connection timed out (Read failed)

将插件管理里面的地址:https改为 http。然后点击submit–>Check Now
在这里插入图片描述
然后出现新的异常:There were errors checking the update sites: IOException: Could not find JSON in http://updates.jenkins-zh.cn/update-center.json?id=default&version=2.222.4

2. There were errors checking the update sites: IOException: Could not find JSON in http://updates.jenkins-zh.cn/update-center.json?id=default&version=2.222.4

如果http还是请求不通,则改回https,然后单独在浏览器里访问报错的链接:https://updates.jenkins-zh.cn/update-center.json发现是正常的,返回了一个很大的JSON,里面包含了Jenkins的版本配置信息。
在这里插入图片描述
这时,再次点击问题1里面的Submit Now,应该就可以正常了。这时,插件列表页也可以正常显示了。

3. ERROR: No such settings file /usr/local/maven/conf/setting.xml exists

在这里插入图片描述
这是由于Jenkins里面配置maven配置文件时,路径有误。在全局工具类里面配置maven配置文件时,需要指定的是Jenkins挂载的maven路径。

Jenkins挂载目录

-v  /usr/local/maven/apache-maven-3.6.3:/usr/local/maven 

那么配置的时候,指定settings.xml 文件地址应该为:/usr/local/maven/conf/settings.xml

注意名称settings.xml不要写错了,否则一直提示找不到该xml文件。如果还不行则将当前maven文件夹权限改为777

命令:chmod -R 777 apache-maven-3.6.3
在这里插入图片描述

4. Jenkins构建docker镜像,提示Dockerfile不存在

[Docker] ERROR: Failed to create docker image: Configured Docker file 'Dockerfile' does not exist.
ERROR: Build step failed with exception
java.lang.IllegalArgumentException: Configured Docker file 'Dockerfile' does not exist.
	at org.jenkinsci.plugins.dockerbuildstep.cmd.remote.CreateImageRemoteCallable.call(CreateImageRemoteCallable.java:68)
	at org.jenkinsci.plugins.dockerbuildstep.cmd.remote.CreateImageRemoteCallable.call(CreateImageRemoteCallable.java:29)
	at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
	at org.jenkinsci.plugins.dockerbuildstep.cmd.CreateImageCommand.execute(CreateImageCommand.java:115)
Caused: java.lang.IllegalArgumentException
	at org.jenkinsci.plugins.dockerbuildstep.cmd.CreateImageCommand.execute(CreateImageCommand.java:119)
	at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder.perform(DockerBuilder.java:77)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.build(MavenModuleSetBuild.java:944)
	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:894)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
	at hudson.model.Run.execute(Run.java:1856)
	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:428)
Build step 'Execute Docker command' marked build as failure
Finished: FAILURE

如果Jenkins拉取的是svn上的单模块的项目,应该不会出现在这种问题。又或者是因为github上的代码配置路径的问题。

我这里在管理代码时多加了一层目录,github项目名下,又包含了一层项目名,然后Dockerfile是在项目下,所以导致这里构建的时候,提示找不到Dockerfile文件。

接着试着将Dockerfile 拷贝一份出来,这里还有个问题就是,手动copy的文件,需要修改文件所属的用户和组,否则Jenkins是没有权限读取复制后的文件的。
在这里插入图片描述
然后构建试下。

5. [Docker] ERROR: Failed to exec start:Connect to 192.168.107.51:2375 [/192.168.107.51] failed: Connection refused (Connection refused)

在这里插入图片描述
这时,外部浏览器访问:http://192.168.104.51:2375/version 是访问不通的,正常应该返回一个docker 版本的信息JSON。

然后看下之前修改的/lib/systemd/system/docker.service,发现ExecStart还是默认值,2375端口没有开放。

这里改为:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
在这里插入图片描述
如果是云服务器的话,开放2375端口后,记得要设置IP白名单,防止服务器被用来挖矿。
在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页