Jenkins Docker抛出exception并开始离线
我试图让Jenkins在Docker中运行起来。 我正在使用官方回购和拉最新的标签。
docker run -u 498 --name awsjenkins -p 8080:8080 -p 50000:50000 -v /mnt/jenkins:/var/jenkins_home jenkins
它开始好,但它是抛出一个错误:
Apr 26, 2017 9:14:27 PM hudson.model.UpdateCenter updateDefaultSite WARNING: Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugin upgrades may fail. java.io.IOException: Server returned HTTP response code: 503 for URL: http://updates.jenkins-ci.org/update-center.json?id=default&version=2.46.2 at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) at hudson.model.DownloadService.loadJSON(DownloadService.java:172) at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:190) at hudson.model.UpdateCenter.updateDefaultSite(UpdateCenter.java:2197) at jenkins.install.SetupWizard.init(SetupWizard.java:174) at jenkins.install.InstallState$3.initializeState(InstallState.java:105) at jenkins.model.Jenkins.setInstallState(Jenkins.java:1061) at jenkins.install.InstallUtil.proceedToNextStateFrom(InstallUtil.java:96) at jenkins.model.Jenkins.<init>(Jenkins.java:951) at hudson.model.Hudson.<init>(Hudson.java:86) at hudson.model.Hudson.<init>(Hudson.java:82) at hudson.WebAppMain$3.run(WebAppMain.java:231)
从主机curl -L
到该URL返回一个301,所以我不认为这是一个防火墙问题…
我在亚马逊上运行这个,但我不认为这会导致任何问题。 我甚至开放了安全组,只是为了踢,但我仍然得到这个错误。 另外,我可以访问jenkins。 但是当我这样做,它告诉我,jenkins正在脱机。
对此有何想法?
那么,希望这可以帮助别人…感谢安迪的评论,我能够弄明白。
这里有一些事情要做
- 官方的Dockerfile默认为uid和gid使用1000。 但实际上,1000通常由主机操作系统中的候选人占用。 就我个人而言,我认为应该把它变得更加模糊一些。 只是我的$ .02 …
- 当覆盖
uid
,它实际上并不创build组。 在Jenkins的Docker Hub官方文档中,它说:
确保容器中的
jenkins
用户(jenkins user – uid 1000)可以访问/your/home
,或者在jenkins
中使用-u some_other_user
参数。
修复非常简单 – 拖动Dockerfile,修改它以与你的本地用户和uid / gid(有几种方法可以做到这一点),并build立/运行它。