前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubernetes中的command和args 与 dockerfile中的ENTRYPOINT和CMD的关系

kubernetes中的command和args 与 dockerfile中的ENTRYPOINT和CMD的关系

作者头像
Amadeus
发布2023-04-17 20:36:27
5470
发布2023-04-17 20:36:27
举报
文章被收录于专栏:linux技术linux技术

command args

  • 如果指定了 containers.command ,Dockerfile 中的 ENTRYPOINT 会被覆盖且 CMD指令 会被忽略。
  • 如果指定了 containers.args,Dockerfile 中的 ENTRYPOINT 继续执行, CMD指令 被覆盖

ENTRYPOINT

CMD

command

args

finally

["/ep1"]

[“foo”, “bar”]

ep-1 foo bar

["/ep1"]

[“foo”, “bar”]

["/ep-2"]

ep-2

["/ep1"]

[“foo”, “bar”]

[“zoo”, “boo”]

ep-1 zoo boo

["/ep1"]

[“foo”, “bar”]

["/ep-2"]

[“zoo”, “boo”]

ep-2 zoo boo

CMD ENTRYPOINT

我们大概可以总结出下面几条规律:

  • 如果 ENTRYPOINT 使用了 shell 模式,CMD 指令会被忽略。
  • 如果 ENTRYPOINT 使用了 exec 模式,CMD 指定的内容被追加为 ENTRYPOINT 指定命令的参数。
  • 如果 ENTRYPOINT 使用了 exec 模式,CMD 也应该使用 exec 模式。

还有一点需要注意,如果使用 docker run --entrypoint 覆盖了 Dockerfile 中的 ENTRYPOINT , 同时 CMD 指令也会被忽略

真实的情况要远比这三条规律复杂,好在 docker 给出了官方的解释,如下图所示:

image-20230410160304323
image-20230410160304323
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • command args
  • CMD ENTRYPOINT
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档