当孩子定义另一个镜像时,Docker 父镜像的入口点会发生啥?
Posted
技术标签:
【中文标题】当孩子定义另一个镜像时,Docker 父镜像的入口点会发生啥?【英文标题】:What happens to entrypoint of Docker parent image when child defines another one?当孩子定义另一个镜像时,Docker 父镜像的入口点会发生什么? 【发布时间】:2017-03-28 07:43:04 【问题描述】:假设我有一个由这个 Dockerfile 构建的 Docker 镜像parent:
FROM ubuntu
ENTRYPOINT ["parent-entry"]
现在我在使用此代码构建的子图像中继承了这个 父 图像:
FROM parent
ENTRYPOINT ["child-entry"]
据我测试,子图像的入口点会覆盖父图像中的入口点。
但由于我是 Docker 新手,所以我不确定这一点。我的研究还没有得出令人满意的答案。那么上面的假设正确吗?
【问题讨论】:
ENTRYPOINT
状态的文档:只有 Dockerfile 中的最后一条 ENTRYPOINT 指令才会生效。
但是在这个例子中有两个 Dockerfile,每个都有自己的单一入口点。子 Dockerfile 继承自父映像。所以孩子必须知道父 Dockerfile 的 ENTRYPOINT 并且要么不覆盖它,要么重复它并添加到它,对吗?
【参考方案1】:
使用最后一个入口点,只使用最后一个。
您可以检查,在您的Dockerfile
中添加几行不同的ENTRYPOINT
,然后检查会发生什么。
【讨论】:
如何添加脚本以在父 ENTRYPOINT 执行后运行?以上是关于当孩子定义另一个镜像时,Docker 父镜像的入口点会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章