dockerfile - docker中怎样覆盖掉父镜像entrypoint

浏览:50日期:2023-02-27

问题描述

请教一个问题:父镜像和子镜像同时指定了entrypoint子镜像好像不覆盖父镜像的entrypoint怎样能把父镜像的entrypoint覆盖掉?

问题解答

回答1:

事实上,子镜像的ENTRYPOINT能够覆盖父镜像的ENTRYPOINT。不妨看一个例子:

父镜像Dockerfile

FROM ubuntu:14.04ENTRYPOINT ['whoami']

构建父镜像

sudo docker build -t kiwenlau/father .

子镜像Dockerfile

FROM kiwenlau/fatherENTRYPOINT ['hostname']

构建子镜像:

sudo docker build -t kiwenlau/son .

运行父镜像:

sudo docker run kiwenlau/fatherroot

运行子镜像

sudo docker run kiwenlau/soncb2b314c47db

可知, 父镜像输出了容器内的用户名, 而子镜像输出了容器的主机名。子镜像的ENTRYPOINT覆盖了父镜像的ENTRYPOINT

回答2:

以最后一个ENTRYPOINT为准,前面的都会被覆盖掉

相关文章: