Docker“Jenkins”图片无法访问互联网

时间:2017-01-28 07:35:13

标签: jenkins docker docker-compose dockerfile docker-machine

我正在使用官方泊坞窗图片(found here
我已经使用了很多docker,所以我知道我正在运行它,但在 localhost 上,在第二次运行上我得到了这些错误:

jenkins_1  | Jan 28, 2017 7:29:13 AM hudson.model.UpdateCenter updateDefaultSite
jenkins_1  | WARNING: Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugin upgrades may fail.
jenkins_1  | java.net.SocketException: Unexpected end of file from server
jenkins_1  |    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:792)
jenkins_1  |    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
jenkins_1  |    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:789)
jenkins_1  |    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)
jenkins_1  |    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1569)
jenkins_1  |    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
jenkins_1  |    at hudson.model.DownloadService.loadJSON(DownloadService.java:171)
jenkins_1  |    at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:180)
jenkins_1  |    at hudson.model.UpdateCenter.updateDefaultSite(UpdateCenter.java:2193)
jenkins_1  |    at jenkins.install.SetupWizard.init(SetupWizard.java:168)
jenkins_1  |    at jenkins.install.InstallState$3.initializeState(InstallState.java:105)
jenkins_1  |    at jenkins.model.Jenkins.setInstallState(Jenkins.java:1058)
jenkins_1  |    at jenkins.install.InstallUtil.proceedToNextStateFrom(InstallUtil.java:96)
jenkins_1  |    at jenkins.model.Jenkins.<init>(Jenkins.java:948)
jenkins_1  |    at hudson.model.Hudson.<init>(Hudson.java:85)
jenkins_1  |    at hudson.model.Hudson.<init>(Hudson.java:81)
jenkins_1  |    at hudson.WebAppMain$3.run(WebAppMain.java:231)

由于上述错误,我得到了这个屏幕: Jenkins Offline

使用新值而不是

/var/jenkins_home

有效,但只有一次,第二次我得到同样的错误。

有什么想法吗?谢谢!

4 个答案:

答案 0 :(得分:1)

它可能与issue 166有关,指的是JENKINS-31089(不是Docker问题,但可能仍然相关)

对于测试目的,您可以尝试(通过使用您正在使用的Docker镜像):

  

用文件jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024中的jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 512替换$JRE_HOME/lib/securityjava.security

或者(仅用于测试,而不是有效的修复)

  

修改/etc/default/jenkins并将以下内容添加到JAVA_ARGS-Dhudson.model.DownloadService.noSignatureCheck=true

答案 1 :(得分:0)

您的泊坞桥可能无法正常工作。删除网桥并重新启动docker。

答案 2 :(得分:0)

我今天遇到了同样的问题。在您的计算机上这不是问题。就像jenkins.io一样,只需关闭更新服务器即可。检查网址https://updates.jenkins.io/是否可用。

答案 3 :(得分:0)

我只是修改了 hudson.model.UpdateCenter.xml 中的 update-center.json url,因为我无法访问 https://updates.jenkins.io/。它有效。

<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://mirrors.tools.huawei.com/jenkins/updates/update-center.json</url>
  </site>
</sites>