在Docker容器中安装后,Jenkins不会自动运行

时间:2015-10-14 14:32:21

标签: jenkins docker

我在一个Docker容器中安装了Jenkins,它不会自动运行。 我必须运行/etc/init.d/jenkins start。然后一切都很顺利。 我所遵循的所有教程都表示安装后它应该默认运行,但它没有。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如果您喜欢各种Jenkins图像(like the official _/jenkins one)的Dockerfile,您会看到jenkins“自动运行”的原因:

COPY jenkins.sh /usr/local/bin/jenkins.sh
ENTRYPOINT ["/bin/tini", "--", "/usr/local/bin/jenkins.sh"]

tini 是采用僵尸进程的脚本,这是我之前在“Use of Supervisor in docker”中提出的一个问题。)

所以它取决于你的Dockerfile的ENTRYPOINT:它应该包含启动Jenkins的正确命令。

  

您也可以在docker文件中使用supervisor或entrypoint。

无需使用主管:这就是官方形象中的tini。

  

如果我使用配置为自动运行jenkins的官方jenkins映像,我想我可以安装Locustio并在之后使用'docker exec'启动它,对吧?

您不会在同一图像中安装Locusto,或者您不会使用docker exec在Jenkins容器中运行它(docker exec用于打开会话主要用于调试目的)

您可以使用Locust.io image来运行第二个容器 如果jenkins需要locust.io,你可以先运行locust.io,然后用--link directive运行jenkins。

答案 1 :(得分:0)

简单就是在码头中心使用詹金斯的官方形象。您也可以在docker文件中使用supervisor或entrypoint。