如何更改 docker 映像启动



当我启动容器时,我有一个以默认配置开头的 SOLR 映像。我想通过引用不同的配置文件来更改 SOLR 在我的容器中的启动方式。当然,我仍然想使用我从一开始就拥有的原始图像。

这样做的最佳做法是什么?如果我使用引用原始映像的 docker 文件,它将以默认值启动它,因为没有修改任何脚本。

我还考虑在我的映像上提交我的新配置文件,该文件有效,但仍然不会更改起始脚本。有人可以指导我这样做的最佳实践吗?提前感谢您的帮助。

容器的启动始终由 ENTRYPOINTCMD 控制。在这种情况下,如果你想覆盖它,你可以创建自己的脚本并在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是您希望在容器启动时执行的自己的脚本。

最新更新