我的编程空间,编程开发者的网络收藏夹
学习永远不晚

docker中CMD和ENTRYPOINT区别

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

docker中CMD和ENTRYPOINT区别

ENTRYPOINT 简介

ENTRYPOINT 容器启动后执行的命令,让容器执行表现的像一个可执行程序一样,与CMD 的 区 别 是 不 可 以 被 docker run 覆 盖 , 会 把 docker run 后 面 的 参 数 当 作 传 递 给
ENTRYPOINT 指令的参数。

Dockerfile 中只能指定一个 ENTRYPOINT,如果指定了很多,只 有 最 后 一 个 有 效 。 docker run 命 令 的 -entrypoint 参 数 可 以 把 指 定 的 参 数 继 续 传 递 给ENTRYPOINT

clipboard.png

CMD简介

clipboard.png

案例(下面基于centos这个基础镜像构建一个镜像测试CMD命令)

1)在/opt/dockerfile目录下创建一个Dockerfile文件     

#基于我们从阿里云下载下来的centos基础镜像
FROM centos
CMD ["/bin/echo","this is test cmd"]

2)使用dockerfile构建镜像

命令:docker build -f /opt/dockerfile/mydockerfile-test -t cmdtest:v1.0 .

3)启动刚刚创建的镜像

命令:docker run -it 镜像id

可以看到,/bin/echo This is test cmd 这条命令成功执行.

直接进入container里面,而不执行echo指令,可以在docker run 后面直接加上/bin/bash命令,/bin/bash命令会覆盖掉cmd后面的命令。

/bin/bash 命令覆盖掉了dockerfile中的cmd命令,直接进入到了container中。

案例(下面基于centos这个基础镜像构建一个镜像测试ENTRYPOINT命令)

1)在/opt/dockerfile目录下创建一个Dockerfile文件    

#基于我们从阿里云下载下来的centos基础镜像
FROM centos
 
ENTRYPOINT ["/bin/echo","this is test entrypoint"]

2)使用dockerfile构建镜像

3)启动刚刚创建的镜像

a: 直接在docker run 后面加参数/bin/bash,entrypoint会把/bin/bash当成一个echo的字符串参数,不会进入到容器中。      

b: 如果想覆盖dockerfile中entrypoint指令,可以在docker run命令中加--entrypoint参数来指定。

可以发现不打印上面的内容了,直接进入容器

c:直接启动容器

 到此这篇关于docker中CMD和ENTRYPOINT区别的文章就介绍到这了,更多相关docker CMD和ENTRYPOINT内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

docker中CMD和ENTRYPOINT区别

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

docker中CMD和ENTRYPOINT区别

本文主要介绍了docker中CMD和ENTRYPOINT区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-17

Dockerfile中ENTRYPOINT 和 CMD的区别说明

ENTRYPOINT 和 CMD 都是 Dockerfile 中的指令,用于指定容器启动时要执行的命令。区别如下:- ENTRYPOINT 用于指定容器启动时要执行的命令或程序。它的参数会被保留下来,并且可以通过 CMD 或者 docker
2023-08-11

Dockerfile中ENTRYPOINT和CMD有什么区别

ENTRYPOINT和CMD都是Dockerfile中用来指定容器启动时要执行的命令的指令,它们的区别如下:1. CMD指定容器启动时要执行的命令,可以有多个CMD指令,但只有最后一个CMD指令会生效。CMD指令可以被docker run命
2023-08-12

Dockerfile中CMD和ENTRYPOINT指令有什么用

这篇文章主要为大家展示了“Dockerfile中CMD和ENTRYPOINT指令有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Dockerfile中CMD和ENTRYPOINT指令有什么
2023-06-04

powershell和cmd的区别

powershell和cmd区别是:1、语法和命令不同,CMD使用基于MS-DOS的命令语法,而Powershell则使用更加强大基于.NET框架的语法;2、脚本支持不同,Powershell具有强大的脚本支持,而CMD支持简单的脚本;3、
2023-07-25

powershell和cmd有哪些区别

这篇“powershell和cmd有哪些区别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“powershell和cmd有哪些
2023-07-05

powershell和cmd有什么区别

本篇内容介绍了“powershell和cmd有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!power
2023-01-31

js中AMD和CMD的区别是什么

这篇文章主要介绍“js中AMD和CMD的区别是什么”,在日常操作中,相信很多人在js中AMD和CMD的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js中AMD和CMD的区别是什么”的疑惑有所帮助!
2023-06-20

javascript中AMD,CMD,Commonjs和es6有什么区别

本文小编为大家详细介绍“javascript中AMD,CMD,Commonjs和es6有什么区别”,内容详细,步骤清晰,细节处理妥当,希望这篇“javascript中AMD,CMD,Commonjs和es6有什么区别”文章能帮助大家解决疑惑
2023-06-17

docker和kubernetes有什么区别

Docker和Kubernetes都是用于容器化应用程序的工具,但是它们有不同的功能和用途。Docker是一种容器化引擎,用于创建、打包和运行容器化应用程序。它提供了一种轻量级、快速部署的方式,使开发人员可以更容易地构建和部署应用程序。
docker和kubernetes有什么区别
2024-04-08

云服务器和docker区别

云服务器(CloudStorage,也称为云存储)和Docker都是容器技术的应用,可以让应用程序和数据在同一台服务器上运行和管理,但它们的具体区别在于它们的工作方式和应用场景。下面是它们的主要区别:应用场景:云服务器是一种高密度、可扩展、弹性的计算和存储服务。它们主要应用于企业级应用程序,如云应用程序、云桌面、云数据库等。而Docker是一种轻量级的容器引擎框架,主要应用于轻量级应用程
2023-10-26

k8s和docker区别是什么

k8s和docker区别是:1、抽象层次不同,Docker提供一种容器化的技术,而Kubernetes提供一个容器编排和管理的平台;2、管理范围不同,Docker主要用于本地开发和单主机环境中的容器管理,而Kubernetes适用于多主机或
2023-07-24

kubernetes和docker的区别有哪些

Kubernetes和Docker是两个不同的技术,各自有着不同的功能和用途。以下是它们之间的一些主要区别:1. 虚拟化层级:Docker是一种容器化平台,它在操作系统级别提供了轻量级的虚拟化。它允许将应用程序及其依赖项打包到一个独立的容器
2023-08-24

docker和springboot的区别有哪些

Docker是一个开源的容器化平台,用于将应用程序打包为可移植的容器,实现快速部署、扩展和管理。而Spring Boot是一个开源的Java框架,用于简化Spring应用程序的开发和部署。下面是Docker和Spring Boot之间的一
docker和springboot的区别有哪些
2024-04-08

cmd批处理中set /a和set /p的区别是什么

这篇文章将为大家详细讲解有关cmd批处理中set /a和set /p的区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在 SET 命令中添加了两个新命令行开关:SET /A expressionS
2023-06-08

编程热搜

目录