当我启动容器时,我有一个以默认配置开头的SOLR图像。 我想通过引用不同的配置文件来更改SOLR在容器中启动的方式。当然,我仍然想要使用我从一开始就拥有的原始图像。
这样做的最佳做法是什么? 如果我使用引用原始图像的docker文件,它将使用默认值启动它,因为没有脚本被修改。
我还想过在我的图像上提交我的新配置文件,但是仍然没有改变起始脚本。 有人可以指导我做最好的练习吗? 在此先感谢您的帮助。
答案 0 :(得分:3)
容器的启动始终由ENTRYPOINT
& CMD
。在这种情况下,如果您想覆盖它,您可以创建自己的脚本&在CMD
& ENTRYPOINT
定义了一个执行CMD
的空环境,而且它会覆盖Dockerfile中的先前ENTRYPOINT
(您也可以提供不同的ENTRYPOINT脚本)。您可以在Dockerfile中执行以下操作 -
FROM solr:latest
...................
...................
COPY your-data /container-data
ENTRYPOINT ["/usr/bin/env"]
CMD /run.sh
您可以使用COPY
&定义要在run.sh
中执行的操作,run.sh
是您自己的脚本,您希望在容器启动时执行该脚本。