Docker中,CMD 和 ENTRYPOINT 的区别,简单!明了!

这篇具有很好参考价值的文章主要介绍了Docker中,CMD 和 ENTRYPOINT 的区别,简单!明了!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

CMD 和 ENTRYPOINT的区别:结论篇

CMD 和 ENTRYPOINT的其他细节结论

测试篇


CMD 和 ENTRYPOINT的区别:结论篇

一、CMD的两种格式完全等效,但是ENTRYPOINT两种格式是有区别的

二、docker run 命令替代了dockerfile的CMD命令

三、docker run 命令在ENTRYPOINT的键值对格式下,是作为ENTRYPOINT命令的参数,docker run wx-centos ls -l会出错。

四、docker run 命令在ENTRYPOINT的命令行格式下,无法替换ENTRYPOINT命令(命令行格式的ENTRYPOINT命令,霸道!!!)

五、当CMD和ENTRYPOINT命令行格式的命令在一起时,ENTRYPOINT命令无条件替换CMD命令(霸道!!!1)

六、当CMD和ENTRYPOINT键值对格式的命令在一起时,CMD命令是ENTRYPOINT命令的参数

CMD 和 ENTRYPOINT的其他细节结论

1.CMD的两种格式,一个是命令行格式(shell格式),另一个是键值对格式(exec格式,JSON格式)。

2.键值对后面引号的内容,是前面命令的参数.

3.如果在键值对格式下,看见“/bin/sh”和“-c”的固定搭配,他的本质就是命令行格式。

4.多条CMD命令,只执行最后一条

5.多条ENTRYPOINT 命令,只执行最后一条命令

6.entrypoint小写也可以实现功能,但是不允许,不符合规范,dockerfile命令不准小写

测试篇

entrypoint,docker,linux,运维

 entrypoint,docker,linux,运维

 entrypoint,docker,linux,运维

 entrypoint,docker,linux,运维

 entrypoint,docker,linux,运维文章来源地址https://www.toymoban.com/news/detail-754701.html

到了这里,关于Docker中,CMD 和 ENTRYPOINT 的区别,简单!明了!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker ENTRYPOINT 执行多条命令

    如何在docker里面同时启动多个pm2进程_祥仔先生的博客-CSDN博客_docker pm2 ENTRYPOINT 命令1 命令2 命令3 dockerfile中添加: RUN chmod -x setup.sh ENTRYPOINT [\\\"sh\\\", \\\"./setup.sh\\\"]

    2024年02月12日
    浏览(28)
  • 【云计算 | Docker】Docker容器后台运行不了?entrypoint在作妖?

    使用镜像 alpine 起个容器,使其保持后台运行,正常情况有如下的效果,可以发现容器保持运行状态。 但是有时候一些容器镜像按照上述方法却达不到预期效果。比如下面这个容器,一创建完就退出了。 那么问题出在哪个环节呢? 首先明确一个Docker容器的特性, docker容器运

    2024年02月14日
    浏览(29)
  • Docker之RUN、COMMAND、ENTRYPOINT辨析

    一  回顾docker一些命令 ①  run create start 的辨析 ②  获取 容器在宿主机 的PID docker inspect --format详解  ③  容器 资源 使用 ④  查看容器的 完整 命令     悬浮镜像dangling image 产生的原因和处理方法   ④  save 和 load ⑤⑥⑦⑧⑨⑩  二    Dockerfile指令的回顾 官网Dockerfile参考

    2024年02月06日
    浏览(50)
  • Dockerfile里的ENTRYPOINT和CMD

    RHEL 9.3 Docker Community 24.0.7 如果懒得看详细介绍,可以直接看总结: ENTRYPOINT 和 CMD 都可以单独使用,指定启动容器时所运行的命令以及参数。 更常见的用法是把 ENTRYPOINT 和 CMD 组合使用: ENTRYPOINT 指定启动容器时所运行的命令和不变的参数。在启动容器时可以显式覆盖,但一

    2024年01月24日
    浏览(26)
  • 48-Dockerfile-CMD/ENTRYPOINT指令

    前言 本篇来学习下Dockerfile中的CMD/ENTRYPOINT指令 CMD 作用 启动容器时默认执行的命令 说明: 一个 Dockerfile 只有一个 CMD 指令,只有最后一个 CMD 指令生效 使用 docker run -d xxx CMD 命令是可以覆盖 Dockerfile 中的 CMD 指令的 格式 使用示例 新建dockerfile 制作镜像 运行容器 可以看到只执

    2024年02月04日
    浏览(54)
  • dockerfile用ENTRYPOINT好还是用CMD好

    在 Dockerfile 中使用 `ENTRYPOINT` 和 `CMD` 都有其用途和优劣势,具体取决于你的应用和需求。这两个指令的主要区别在于如何处理容器启动时的命令参数。 1. `CMD` 指令:    - `CMD` 用于定义容器启动时的默认命令,但它可以在运行容器时被替代。如果在运行容器时提供了命令参数

    2024年02月08日
    浏览(36)
  • Docker 制作 MySQL 镜像并使用 `/docker-entrypoint-initdb.d/` 机制初始化数据

    制作一个 MySQL Docker 镜像并初始化数据库信息 win 11 Docker-Desktop 4.14.0 (91374) 启动一个MySQL容器很容易。如何初始化数据呢? 大概我们会尝试很多操作,比如百度常见到 使用 CMD 命令调用shell脚本,通过shell脚本处理初始化数据等等,经过实践,这些都不太方便。 其实,MySQL 官方提

    2024年01月18日
    浏览(36)
  • 使用docker-compose启动docker镜像报错exec ./docker-entrypoint.sh: no such file or directory

    报错原因:exec ./docker-entrypoint.sh: no such file or directory 我们可以在linux下通过cat -v命令查看.sh文件   例: cat -v Dockerfile         WORKDIR /tools/*******/^M         RUN chmod a+x /tools/*********/docker-entrypoint.sh^M         ENTRYPOINT [\\\"./docker-********.sh\\\"]^M 这种后缀有^M的即为编码错误造成的

    2024年02月15日
    浏览(30)
  • docker容器日志报错:/docker-entrypoint.sh: exec: line 10: /bin/bash: not found(去掉/bin/bash)

    这个错误提示表明eclipse-mosquitto镜像生成的容器内部找不到 /bin/bash 这个命令,可能是由于在容器镜像中没有安装 Bash 或在执行脚本时路径不正确导致的。如果你使用的是官方的 eclipse-mosquitto 镜像,那么这个问题一般不会出现。 如果你在 Dockerfile 中指定了自己的 ENTRYPOINT 或

    2024年02月09日
    浏览(31)
  • Dockerfile——ENTRYPOINT详解

      Entrypoint的作用是,把整个container变成了一个可执行的文件,这样不能够通过替换CMD的方法来改变创建container的方式。但是可以通过参数传递的方法影响到container内部。 ENTRYPOINT 有两种格式: ENTRYPOINT [“executable”, “param1”, “param2”] (exec 格式,首选) ENTRYPOINT command param

    2024年02月08日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包