首页  >  问答  >  正文

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

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

PHP中文网PHP中文网2758 天前1095

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-04-24 09:15:35

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

    父镜像Dockerfile

    FROM ubuntu:14.04
    ENTRYPOINT ["whoami"]

    构建父镜像

    sudo docker build -t kiwenlau/father .

    子镜像Dockerfile

    FROM kiwenlau/father
    ENTRYPOINT ["hostname"]

    构建子镜像:

    sudo docker build -t kiwenlau/son .

    运行父镜像:

    sudo docker run kiwenlau/father
    root

    运行子镜像

    sudo docker run kiwenlau/son
    cb2b314c47db

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

    回复
    0
  • 怪我咯

    怪我咯2017-04-24 09:15:35

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

    回复
    0
  • 取消回复