Docker ENTRYPOINT与CMD的对比:深度剖析[通俗易懂]

Docker ENTRYPOINT与CMD的对比:深度剖析[通俗易懂]在Docker中,ENTRYPOINT和CMD都是用来指定容器启动时执行的命令。然而,它们的用途略有不同。ENTRYPOINT指令用于设置将被用

在Docker中,ENTRYPOINT和CMD都是用来指定容器启动时执行的命令。然而,它们的用途略有不同。

ENTRYPOINT指令用于设置将被用作容器中主进程的命令和参数。这意味着传递给docker run的任何参数都将被附加到ENTRYPOINT指令的结尾。

例如01,考虑以下Docker文件:

FROM alpine
ENTRYPOINT ["echo", "Hello"]
docker build -t base01_img .
docker run -d –name mycontainer_01 base01_img World
Hello World

Hello以及World被执行。

例如02,考虑以下Docker文件:

FROME ubuntu
ENTRYPOINT ["sh"]
docker build -t base01_img .
docker run -d –name mycontainer_01 base01_img ping -c 10 google.com

shell以及ping被执行。

而不是重写,它将串联容器中的ping命令

CMD :

另一方面,CMD指令是用来为ENTRYPOINT指令提供默认参数的。如果指定了CMD指令而没有ENTRYPOINT指令,那么CMD将是容器启动时运行的命令。

设置默认参数,可以在运行docker容器时从Docker命令行界面(CLI)覆盖。CMD可以通过另一个命令来覆盖。

如果你在docker文件中写了多个CMD,只有最后一个CMD会生效。

例如,考虑以下Docker文件:

FROM alpine
CMD ["sh"]

当你用以下命令运行这个容器时:

$ docker run my-image ping -c 10 google.com

输出结果将是:

ping -c 10 google.com

容器被创建,但默认的执行路径将是ping -c 10 google.com。

CMD的第一条命令 “sh “将被 “ping -c 10 google.com “所覆盖。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/12129.html

(0)

相关推荐

  • sql视图和存储过程_oracle存储过程详解

    sql视图和存储过程_oracle存储过程详解1.视图 1.1 什么是视图? 视图实际上是一张虚拟表,其本身不存储数据。 相当于一张表或多张表的数据结果集 数据表复杂的情况下,可以把查询结果放在虚拟表中,提升效率 1.2如何创建、更新、删除视图…

    2023-04-06
    139
  • InnoDB一棵B+树可以存放多少行数据?[通俗易懂]

    InnoDB一棵B+树可以存放多少行数据?[通俗易懂]一个问题? InnoDB一棵B+树可以存放多少行数据?这个问题的简单回答是:约2千万。为什么是这么多呢?因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。 …

    2023-03-29
    149
  • MySQL 常用操作语句「建议收藏」

    MySQL 常用操作语句「建议收藏」数据库安装,待完善 https://www.cnblogs.com/wendy-0901/p/12673705.html https://blog.csdn.net/yougoule/article…

    2023-04-09
    162
  • sql查询语句优化

    sql查询语句优化 sql查询语句优化 1、对查询进行优化,应尽量避免全表扫描 a、 where 及 order by 涉及的列上建立索引 b、 尽量避免在 where 子句中对字段进行 null 值判断,可以…

    2023-03-21
    147
  • Mysql索引优化

    Mysql索引优化
    Mysql索引优化 准备数据 建立一个测试用表 往表中插入10w条随机数据的存储过程 CREATE DEFINER=`root`@`%` PROCEDURE…

    2023-04-03
    154
  • 使用Pycharm实现多行注释

    使用Pycharm实现多行注释在编写程序的过程中,注释是非常重要的。注释可以帮助其他人理解我们编写的代码,并且可以使我们自己更好地了解代码的功能。本文将介绍如何在Pycharm中实现多行注释。Pycharm是一个非常流行的Python开发环境。它提供了许多功能,其中包括多行注释的支持。

    2024-08-17
    28
  • 15个经典的Spring面试常见问题「终于解决」

    15个经典的Spring面试常见问题「终于解决」这篇文章主要是想通过一些问题,加深大家对于 Spring 的理解,所以不会涉及太多的代码!这篇文章整理了挺长时间,下面的很多问题我自己在使用 Spring 的过程中也并没有注意,自己也是临时查阅了很多资料和书籍补上的。网上也有一些很多关于 Spring 常见问题/面试题整理的文…

    2023-08-04
    109
  • mysql模糊查询区分大小写_oracle实例名区分大小写吗

    mysql模糊查询区分大小写_oracle实例名区分大小写吗Sql模糊查询,Like默认是不区分大小写的 使用Like时,怎么支持大小写呢? upper、lower,只能模糊所有的内容,不能区分内容中的大小写。 sqlite数据库对text字段默认是大小写敏感

    2022-12-25
    144

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注