前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Docker file中CMD命令与ENTRYPOINT命令

在Docker file中CMD命令与ENTRYPOINT命令

原创
作者头像
空洞的盒子
发布2024-03-18 11:40:32
2130
发布2024-03-18 11:40:32
举报
文章被收录于专栏:JD的专栏JD的专栏

在 Dockerfile 中, `CMD` 和 `ENTRYPOINT` 命令都用于指定容器启动时要执行的命令。它们之间的区别在于命令的执行方式和参数的传递方式。

1. `CMD`命令

- `CMD`命令用于指定容器启动时要执行的默认命令。

- 可以在 Dockerfile中使用多个`CMD`命令,但只有最后一个`CMD`命令会生效。

- `CMD`命令可以被Dockerfil中的`CMD`指令或通过命令行参数覆盖。

- 如果在运行容器时提供了命令行参数,则会覆Dockerfil中的`CMD`命令。

- 例如:`CMD ["python", "app.py"]`

2. `ENTRYPOINT`命令

- `ENTRYPOINT`命令用于指定容器启动时要执行的固定命令。

- 可以在 Dockerfile 中使用多个`ENTRYPOINT`命令,但只有最后一个 `ENTRYPOINT`命令会生效。

- `ENTRYPOINT`命令可以与`CMD`命令结合使用,`CMD`命令提供参数给 `ENTRYPOINT`命令。

- 如果在运行容器时提供了命令行参数,则会覆盖`CMD`命令中的参数,但不会覆盖 `ENTRYPOINT` 命令。

- 例如:`ENTRYPOINT ["python", "app.py"]`

通过将命令放在`CMD`或`ENTRYPOINT`中,可以指定容器启动后要执行的命令。选择使用哪个命令取决于您的需求和应用程序的特点。如果您希望命令行参数能够覆盖Dockerfile 中的默认命令,可以使用`CMD`命令。如果您希望固定执行某个命令,并且命令行参数不会覆盖该命令,可以使用`ENTRYPOINT`命令。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

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