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

我在一个Docker容器中安装了Jenkins,它不会自动运行。 我必须运行/etc/init.d/jenkins启动。 那么一切都很顺利,很好。 我所遵循的所有教程都说在安装之后它应该默认运行,但是不会。

有什么想法吗?

如果你喜欢各种Jenkins图片的Dockerfile( 比如官方的_/jenkins图片),你会看到jenkins为什么会“自动运行”:

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

tini是采用僵尸进程的脚本,这是我之前在“ tini中使用Supervisor ”中提到的一个问题)

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


你也可以在你的docker文件中使用主pipe或入口点。

不需要使用主pipe:这就是tini在官方形象中的作用。

如果我使用configuration为自动运行jenkins的官方jenkins映像,我想我可以安装Locustio,然后用“docker exec”启动它,对不对?

你不会在同一个映像中安装Locusto,或者你不会使用docker exec在Jenkins容器中运行它( docker exec主要是为了debugging目的而打开会话)

您将使用Locust.io图像来运行第二个容器。
如果jenkins需要locust.io,可以先运行locust.io,然后用--link指令运行jenkins。

简单的是在docker集线器上使用jenkins的官方图像。 你也可以在你的docker文件中使用主pipe或入口点。