我创建了一个 Dockerimage,它使用supervisord 启动多个服务,其中 2 个正在工作,但第 3 个 jenkins 服务启动,然后自行终止。
监督者
ubuntu@kops:~/cluster/gui$ catsupervisord.conf
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:jenkins]
command=/usr/bin/java -jar /usr/share/jenkins/jenkins.war
autostart=true
[program:vnc]
command=/usr/bin/vncserver :1 -geometry 1280x800 -depth 24 && tail -f /root/.vnc/*:1.log
autostart=true
在 docker 容器内,当我手动启动 jenkins 服务时,
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
aa9c8e22a95c4fcd8a7966983b6ff065
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
Killed
答案1
我知道这个帖子很旧,但它仍然出现在谷歌搜索中。
我也有这个问题。原因是该命令没有设置 $JENKINS_HOME,因此它将当前命令的目录 -> /usr/bin/java 作为 JENKINS_HOME。
你可以简单的通过导出 JENKINS_HOME=/var/lib/jenkins在命令之前。但最好的方法是加载 /etc/defaults/jenkins 文件并导出在那里设置的变量。您可以按照与中相同的方式执行此操作/etc/init.d/jenkins文件。
[ -r /etc/default/jenkins ] && . /etc/default/jenkins
export JENKINS_HOME
最后我强烈建议仔细看看这个...... https://wiki.jenkins.io/display/JENKINS //Starting+and+Accessing+Jenkins ...以及整个/etc/init.d/jenkins并使用它的某些部分来正确运行詹金斯。