请教一个问题:父镜像和子镜像同时指定了entrypoint子镜像好像不覆盖父镜像的entrypoint怎样能把父镜像的entrypoint覆盖掉?
认证0级讲师
事实上,子镜像的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
以最后一个ENTRYPOINT为准,前面的都会被覆盖掉
事实上,子镜像的ENTRYPOINT能够覆盖父镜像的ENTRYPOINT。不妨看一个例子:
父镜像Dockerfile
构建父镜像
子镜像Dockerfile
构建子镜像:
运行父镜像:
运行子镜像
可知, 父镜像输出了容器内的用户名, 而子镜像输出了容器的主机名。子镜像的ENTRYPOINT覆盖了父镜像的ENTRYPOINT
以最后一个ENTRYPOINT为准,前面的都会被覆盖掉