【发布时间】:2017-05-25 17:47:49
【问题描述】:
最近,我们决定将我们的一项服务移至 docker 容器。该服务是另一家公司的产品,他们为我们提供了 docker 镜像。但是,我们需要在容器入口点做一些额外的配置步骤。
我尝试的第一件事是从基础镜像创建一个 DockerFile,然后添加命令来执行额外的步骤,如下所示:
From baseimage:tag
RUN chmod a+w /path/to/entrypoint_creates_this_file
但是,它失败了,因为这些额外的步骤必须在运行基本容器入口点之后运行。
有没有办法扩展基础图像的入口点?如果不是,那么正确的方法是什么?
谢谢
【问题讨论】:
-
原始入口点是定义为单个命令还是shell脚本?如果命令:创建一个入口点脚本文件(或命令),其中包含原始命令 + 您的配置命令,并更改 Dockerfile 中的
ENTRYPOINT列表以使用它。如果脚本:创建一个新脚本,它执行原始入口点脚本,然后执行您自己的配置命令。然后将ENTRYPOINT列表更改为指向您的新脚本。 -
谢谢 Snorre,是的,这是正确的解决方案。原始入口点是一个 shell 脚本,正如你所说,我需要在我的自定义入口点执行它,然后再执行其他步骤。
-
很高兴听到问题已解决。
标签: docker dockerfile