我在一个Docker容器中安装了Jenkins,它不会自动运行。 我必须运行/etc/init.d/jenkins start。然后一切都很顺利。 我所遵循的所有教程都表示安装后它应该默认运行,但它没有。
有什么想法吗?
答案 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。