IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Dockerfile文件中CMD指令与ENTRYPOINT指令的区别 -> 正文阅读

[系统运维]Dockerfile文件中CMD指令与ENTRYPOINT指令的区别

【Docker那些事】系列文章

Dockerfile 文件结构、docker镜像构建过程详细介绍
Dockerfile文件中CMD指令与ENTRYPOINT指令的区别
构建Docker镜像指南,含实战案例

区别介绍

CMD [“要运行的程序”,“参数1”,“参数2”] : 指定启动容器时要运行的命令或脚本。可以有多个CMD指令,但只有最后一个生效。CMD会被docker run指令后的参数替换
ENTRYPOINT [“要运行的程序”,“参数1”,“参数2”] : 和CMD一样,指定启动容器时要运行的命令或脚本。ENTRYPOINT不会被docker run指令后的参数替换,而是在其后追加参数

实例说明CMD和ENTRYPOINT的区别

CMD实例

Dockerfile文件

FROM centos
MAINTAINER ber & ber@email.com
CMD ["ls"]

构建镜像

这里因为Dockerfile文件已经存在,我另存了一个Dockerfile1文件,构建时需要-f指定一下使用的Dockerfile文件

docker build -f Dockerfile1 -t mycentos:1 .

运行新镜像mycentos:1

docker run -it mycentos:1

可以看到最后的CMD指令在docker run时成功运行了。
在这里插入图片描述
再试着加-l参数运行,我想要实现ls -l的效果。能否成功呢?接着往下看实验

docker run -it mycentos:1 -i

很明显,失败了。在这里插入图片描述

原因

CMD会被docker run指令后的参数替换。
在输入加参数-l指令后

docker run -it mycentos:1 -l

CMD ls 指令 就被替换成 CMD -l,这个指令明显是错的,当然不能执行,于是就报错提示指令不存在。

ENTRYPOINT实例

Dockerfile文件

FROM centos
MAINTAINER ber & ber@email.com
ENTRYPOINT ["ls"]

构建镜像

这里也是因为Dockerfile文件已经存在,我另存了一个Dockerfile2文件,构建时需要-f指定一下使用的Dockerfile文件

docker build -f Dockerfile2 -t mycentos:2 .

运行新镜像mycentos:2

docker run -it mycentos:2

可以看到最后的ENTRYPOINT指令在docker run时成功运行了。
在这里插入图片描述
再试着加-l参数运行,我想要实现ls -l的效果。这次能否成功呢?接着往下看实验

docker run -it mycentos:2 -l

ls -l查看当前文件夹下详细的文件信息,这里已经实现了我想要的。
在这里插入图片描述
当使用ENTRYPOINT指令时,docker run后加的参数-l作用到mycentos:2镜像上会以ls -l指令执行。
这也就是CMD指令和ENTRYPOINT指令的主要区别。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:45:32  更:2021-08-28 09:47:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:35:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码