最近,我们决定将其中一项服务移至docker container。该服务是另一家公司的产品,他们为我们提供了码头图像。但是,我们需要在容器入口点中执行一些额外的配置步骤。
我尝试的第一件事是从基本映像创建一个DockerFile,然后添加命令来执行额外的步骤,如下所示:
From baseimage:tag
RUN chmod a+w /path/to/entrypoint_creates_this_file
但是,它失败了,因为在运行基本容器入口点之后必须运行这些额外的步骤。
有没有办法扩展基本图片的入口点?如果没有,这样做的正确方法是什么?
由于
答案 0 :(得分:6)
在进行其他额外配置步骤之前,我最终在我的新入口点bash脚本中调用了原始入口点bash脚本。
答案 1 :(得分:3)
您甚至不需要创建新的Dockerfile。要修改entrypoint
,您只需使用以下命令运行图像:
docker run --entrypoint new-entry-point-cmd baseimage:tag <optional-args-to-entrypoint>
答案 2 :(得分:2)
创建自定义入口点文件
- &GT;将此添加到图像
- &GT;将其指定为入口点文件
FROM image:base
COPY /path/to/my-entry-point.sh /my-entry-point.sh
// do sth here
ENTRYPOINT ["/my-entry-point.sh"]