网站建好后广告是不是需要,东莞加工厂外发网,网站建设与维护的国家定价标准,口碑营销论文在 Docker 中#xff0c;Dockerfile 是否继承其父映像的 ENTRYPOINT 和 CMD#xff0c;取决于 Dockerfile 的编写方式。以下是规则#xff1a;
1. CMD 的继承
子镜像会继承父映像的 CMD#xff0c;但如果在子镜像的 Dockerfile 中显式定义了新的 CMD#xff0c;就会覆盖…在 Docker 中Dockerfile 是否继承其父映像的 ENTRYPOINT 和 CMD取决于 Dockerfile 的编写方式。以下是规则
1. CMD 的继承
子镜像会继承父映像的 CMD但如果在子镜像的 Dockerfile 中显式定义了新的 CMD就会覆盖父映像的 CMD。如果子镜像未指定 CMD则会保留父映像的 CMD。
2. ENTRYPOINT 的继承
子镜像也会继承父映像的 ENTRYPOINT但如果在子镜像的 Dockerfile 中显式定义了新的 ENTRYPOINT则会覆盖父映像的 ENTRYPOINT 和 CMD。如果子镜像未定义 ENTRYPOINT父映像的 ENTRYPOINT 会保留。
3. ENTRYPOINT 和 CMD 的关系
如果两个都定义CMD 的作用是为 ENTRYPOINT 提供默认参数。如果覆盖了 ENTRYPOINT父映像的 CMD 可能失去作用除非新的 ENTRYPOINT 设计为支持这些参数。 这个行为在 kubernetes 的 yaml 中覆盖容器命令同样适用 此外 WORKDIR 命令也是遵守这个规则
Dockerfile中的WORKDIR指令在子镜像中也是会继承父镜像的。如果在父镜像中已经设置了WORKDIR那么在子镜像中你不需要再显式地设置WORKDIR它将自动继承父镜像的工作目录。
然而如果在子镜像中你重新设置了WORKDIR那么新的设置会覆盖父镜像的WORKDIR指令。
简而言之
继承如果子镜像没有显式设置WORKDIR它会继承父镜像的工作目录。覆盖如果子镜像中使用了WORKDIR它会覆盖父镜像的设置。