docker中CMD和ENTRYPOINT区别
目录
- ENTRYPOINT 简介
- CMD简介
- 案例(下面基于centos这个基础镜像构建一个镜像测试CMD命令)
- 案例(下面基于centos这个基础镜像构建一个镜像测试ENTRYPOINT命令)
ENTRYPOINT 简介
ENTRYPOINT 容器启动后执行的命令,让容器执行表现的像一个可执行程序一样,与CMD 的 区 别 是 不 可 以 被 docker run 覆 盖 , 会 把 docker run 后 面 的 参 数 当 作 传 递 给
ENTRYPOINT 指令的参数。
Dockerfile 中只能指定一个 ENTRYPOINT,如果指定了很多,只 有 最 后 一 个 有 效 。 docker run 命 令 的 -entrypoint 参 数 可 以 把 指 定 的 参 数 继 续 传 递 给ENTRYPOINT

CMD简介

案例(下面基于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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
栏 目:其它服务器
本文地址:https://zz.feitang.co/server/30549.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





