【问题标题】:Docker "Jenkins" image can't access internetDocker“Jenkins”图像无法访问互联网
【发布时间】:2017-01-28 07:35:13
【问题描述】:

我使用的是官方 docker 镜像 (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)

由于上述错误,我当然会得到这个屏幕:

使用新值代替

/var/jenkins_home

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

有什么想法吗?谢谢!

【问题讨论】:

  • 你用来运行它的 docker 命令是什么?
  • 你的主机系统是 Ubuntu 吗?

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


【解决方案1】:

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

出于测试的目的,您可以尝试(通过从您正在使用的镜像制作新的 Docker 镜像):

将文件$JRE_HOME/lib/securityjava.security中的jdk.certpath.disabledAlgorithms=MD2, RSA keySize &lt; 1024替换为jdk.certpath.disabledAlgorithms=MD2, RSA keySize &lt; 512

或者(再次只是为了测试,不是有效的修复)

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      我今天也遇到了同样的问题。这不是您计算机上的问题。就像 jenkins.io 让他们的更新服务器关闭一样简单。检查 URL https://updates.jenkins.io/ 的可用性。

      【讨论】:

        【解决方案4】:

        我只是修改了 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>
        

        【讨论】:

          猜你喜欢
          • 2017-06-24
          • 2014-11-16
          • 2016-02-20
          • 2019-08-23
          • 2017-02-04
          • 2020-10-18
          • 2018-05-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多