jenkins – 扩展图像时ENTRYPOINT Docker指令如何反应

我想知道在遗产发生时会对来自Dockerfiles的ENTRYPOINT指令做出反应:

比方说,我有一个名为:jenkins的图像

FROM java:8-jdk
RUN ...
ENTRYPOINT ["/bin/tini", "--", "/usr/local/bin/jenkins.sh"]

通过运行此映像,ENTRYPOINT指令将按预期启动并安装应用程序

现在假设我想用新的Dockerfile扩展这个图像,我称之为:jenkins-custom

FROM jenkins

# enable start tls
RUN echo "JENKINS_JAVA_OPTIONS=\"-Dmail.smtp.starttls.enable=true\"" >> /etc/default/jenkins
RUN chown jenkins:docker /etc/default/jenkins

我应该考虑一下:

>我的新线后触发了jenkins入口点.
>在我的新线之前,入口点将被触发.
>不会触发入口点.

在我的例子中,我试图在默认的Jenkins docker镜像中激活STARTTLS,我应该在第二张图像中重新启动进程吗?

谢谢大家 😉

最佳答案
执行docker run时,ENTRYPOINT中的命令会运行.但是,运行docker build时会执行RUN中的命令.

在您的情况下,将要发生的事情是,当您使用docker构建映像时,会生成一个新的Jenkins配置文件,然后当docker运行它时,将启动tini,然后执行jenkins-entrypoint.sh.

如果您要做的是更改Jenkins配置而不是其他任何内容,那么您在这里所做的就是好的.

转载注明原文:jenkins – 扩展图像时ENTRYPOINT Docker指令如何反应 - 代码日志