Docker "Jenkins"镜像无法访问互联网。

3

我正在使用官方的Docker镜像(在此处找到)。
我经常使用Docker,所以我知道我正在正确地运行它,但在本地主机上,在第二次运行时会出现以下错误:

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

这个方法可以用,但只能用一次,在第二次使用时会出现相同的错误。

有什么想法吗?谢谢!


你使用什么Docker命令来运行它? - miraculixx
你的主机系统是Ubuntu吗? - Salem
4个回答

2

这可能与问题166有关,该问题涉及到JENKINS-31089(不是Docker问题,但仍然可能相关)。

为了测试目的,您可以尝试(从您正在使用的图像创建新的Docker镜像):

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

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

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


0
今天我也遇到了同样的问题。这不是你电脑的问题。原因很简单,jenkins.io 的更新服务器出现了故障。请检查https://updates.jenkins.io/的可用性。

0

可能是您的Docker桥接不正常。请删除桥接并重新启动Docker。


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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接