ENTRYPOINT Docker指令在扩展图像时如何反应
我想知道遗产发生时是否会对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泊坞窗图像中激活STARTTLS,我应该重新启动第二个图像的过程吗?
谢谢大家 ;)
在执行ENTRYPOINT
run时, ENTRYPOINT
的命令会docker run
。 但是,运行docker build
时会执行RUN
中的命令。
在你的情况下,将会发生的事情是,当你docker build
镜像的时候,会生成一个新的Jenkinsconfiguration文件,然后当tini
docker run
它时, tini
被启动,然后执行jenkins-entrypoint.sh
。
如果你想要做的是改变Jenkins的configuration而没有别的,你在这里有什么好的。