问题描述
请教一个问题:父镜像和子镜像同时指定了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为准,前面的都会被覆盖掉