我想知道,当继承发生时,Dockerfiles是否会对ENTRYPOINT指令做出反应:
比方说,我有一个映像,名为:https://github.com/jenkinsci/docker
FROM java:8-jdk
RUN ...
ENTRYPOINT ["/bin/tini", "--", "/usr/local/bin/jenkins.sh"]通过运行此映像,ENTRYPOINT指令将按预期启动和安装应用程序。
假设现在我想用一个新的Dockerfile扩展这个图像,我称之为:jenkins-
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映像中的STARTTLS,是否应该重新启动第二个映像中的进程?
发布于 2015-09-25 17:06:46
ENTRYPOINT中的命令在执行docker run时运行。但是,RUN中的命令是在运行docker build时执行的。
在您的示例中,将要发生的是,当您docker build映像时,生成一个新的Jenkins配置文件,然后当您启动docker run时,启动tini,然后依次执行jenkins-entrypoint.sh。
如果您要做的是更改Jenkins配置,而不是其他任何东西,那么这里的内容是好的。
https://stackoverflow.com/questions/32787120
复制相似问题