在 Docker 中,Dockerfile
是否继承其父映像的 ENTRYPOINT
和 CMD
,取决于 Dockerfile
的编写方式。以下是规则:
1. CMD
的继承
- 子镜像会继承父映像的
CMD
,但如果在子镜像的Dockerfile
中显式定义了新的CMD
,就会覆盖父映像的CMD
。 - 如果子镜像未指定
CMD
,则会保留父映像的CMD
。
2. ENTRYPOINT
的继承
- 子镜像也会继承父映像的
ENTRYPOINT
,但如果在子镜像的Dockerfile
中显式定义了新的ENTRYPOINT
,则会覆盖父映像的ENTRYPOINT 和 CMD
。 - 如果子镜像未定义
ENTRYPOINT
,父映像的ENTRYPOINT
会保留。