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

时间:2015-09-25 16:54:39

标签: jenkins 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

我应该考虑一下:

  1. jenkins 入口点是在我的新行之后触发的。
  2. 入口点将在我的新线之前被歪曲。
  3. 不会触发入口点。
  4. 在我的示例中,我尝试在默认的Jenkins docker镜像中激活STARTTLS,我是否应该在第二张图像中重新启动该过程?

    感谢所有人;)

1 个答案:

答案 0 :(得分:5)

执行ENTRYPOINT时,docker run中的命令会运行。但是,运行RUN时会执行docker build中的命令。

在您的情况下,将要发生的是,当您docker build图像时,会生成一个新的Jenkins配置文件,然后当您docker run时,{{1} }启动,然后执行tini

如果您尝试做的是更改Jenkins配置而没有其他任何内容,那么您在这里所做的就是好的。