⒈是什么?

  DockerFile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本文件。

⒉步骤

  ①手动编写一个符合规范的DockerFile文件(编写)

  ②使用docker build执行这个文件生成自定义镜像(构建)

  ③docker run(执行)

*

  DockerFile  =》  软件原材料

  Docker镜像  =》  软件交付品

  Docker容器  =》  软件运行态

DockerFile面向开发,Docker镜像成为交付标准,Docker容器则设计部署与运维,三者缺一不可,合力充当Docker体系的基石。

  

⒊Docker执行DockerFile的大致流程

  ①Docker从基础镜像运行一个容器

  ②执行一条执行并对容器作出修改

  ③执行类似docker commit的操作提交一个新的镜像层

  ④Docker再基于刚提交的镜像运行一个新容器

  ⑤执行DockerFile中的下一条执行直到所有指令全部执行完成

⒋指令

  ⒈FROM

    基础镜像,当前新镜像是基于那个镜像的。

  ⒉MAINTAINER

    镜像维护者的姓名和邮箱地址

  ⒊RUN

    容器构建时需要运行的命令

  ⒋EXPOSE

    当前容器对外暴漏的端口号

  ⒌WORKDIR

    指定在创建容器后,终端默认登陆进来的工作目录

  ⒍ENV

    用来在构建镜像过程中设置环境变量

  ⒎ADD

    将宿主机目录下的文件拷贝进镜像且ADD指令会自动处理URL和解压tar压缩包

  ⒏COPY

    类似ADD指令,拷贝文件和目录到镜像中,没有下一步操作,不会解压等。

  ⒐VOLUME

    容器数据卷,用于数据保存和持久化工作

  ⒑CMD

    指定一个容器启动时要运行的命令

    DockerFile中可以有多个CMD指令,但只有最后一个会生效

    CMD指令会被docker run之后的参数替换

  ⒒ENTRYPOINT

    指定一个容器启动时要运行的命令

  ⒓ONBUILD

    当构建一个被继承的DockerFile时运行命令,父镜像在被子继承后父镜像的ONBUILD指令将被触发

⒌指令相关

  ①每条指令必须为大写字母且后面至少跟随一个参数

  ②指令按照从上到下,顺序执行

  ③#表示注释

  ④每条指令都会创建一个新的镜像层,并对镜像进行提交

⒍如何构建?

  docker build -f [DockerFile的绝对路径] -t 镜像名称:版本号

⒎Docker父镜像

  Base镜像(scratch),父镜像,基镜像,相当于C#/Java中的Object类,99%的镜像都是通过Base镜像构建出来的。

DockerFile解析的更多相关文章

  1. Dockerfile解析(八)

    一.Dockerfile是什么 Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本. 1. 构建的步骤 运行容器:docker run 构建新的镜像:docker ...

  2. 6、DockerFile解析:三步走、保留字指令

    1.dockerfiel是什么 1.是什么 Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本. 2.构建三步骤 编写Dockerfile文件 docker bu ...

  3. docker学习笔记-05:DockerFile解析

    一.DockerFile是什么 1.DockerFile是用来构建docker镜像的构建文件,是由一系列参数和命令构成的脚本. 2.构建三步骤: 手动编写一个dockerfile文件,然后直接dock ...

  4. dockerfile解析过程

    什么是dockerfile? DockerFile是用来构建docker镜像的文件,是由一系列命令和参数组成. 构建步骤? 1.编写dockerfile文件 2.docker build 3.dock ...

  5. 05--Docker对DockerFile解析

    一.是什么: 1.1 DockerFile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本 1.2 构建步骤: 1.2.1 编写Dockerfile文件 1.2.2 docker ...

  6. Docker小白到实战之Dockerfile解析及实战演示,果然顺手

    前言 使用第三方镜像肯定不是学习Docker的最终目的,最想要的还是自己构建镜像:将自己的程序.文件.环境等构建成自己想要的应用镜像,方便后续部署.启动和维护:而Dockerfile就是专门做这个事的 ...

  7. Dockerfile 解析

    Dockerfile Dockerfile是用来构建Docker镜像的构建文件,是由一系列参数和命令构成的脚本. 构建的三个步骤:1.编写Dockerfile文件  2.docker build  3 ...

  8. [置顶] Docker学习总结(3)——Docker实战之入门以及Dockerfile(三)

    应用镜像 csphere/wordpress:4.2 # cd docker-training/wordpress/ # ls -a . license.txt wp-config-sample.ph ...

  9. DockerFile理解与应用

    1.DockerFile是什么? DockerFile是用来构建Docker镜像的构建文件,一般分为四部分:基础镜像信息.维护者信息.镜像操作指令和容器启动时执行指令,'#' 为 Dockerfile ...

随机推荐

  1. 不失一般性和快捷性地判定决策单调(洛谷P1912 [NOI2009]诗人小G)(动态规划,决策单调性,单调队列)

    洛谷题目传送门 闲话 看完洛谷larryzhong巨佬的题解,蒟蒻一脸懵逼 如果哪年NOI(放心我这样的蒟蒻是去不了的)又来个决策单调性优化DP,那蒟蒻是不是会看都看不出来直接爆\(0\)?! 还是要 ...

  2. 点分治模板(洛谷P4178 Tree)(树分治,树的重心,容斥原理)

    推荐YCB的总结 推荐你谷ysn等巨佬的详细题解 大致流程-- dfs求出当前树的重心 对当前树内经过重心的路径统计答案(一条路径由两条由重心到其它点的子路径合并而成) 容斥减去不合法情况(两条子路径 ...

  3. HGOI 20190218 题解

    /* 又是AK局... hjc又双叒叕AK了... Hmmm...我侥幸 */ Problem A card 给出无序序列a[]可以选择一个数插入到合适的位置作为一次操作,至少多少次操作后可以把序列变 ...

  4. 解码(ByteBuffer): CharsetDecoder.decode() 与 Charset.decode() 的不同

    今天测试的时候发现一个问题: ByteBuffer inputBuffer = ByteBuffer.allocate(1024); StringBuilder inputData = new Str ...

  5. 一次有趣的ant-design与后端数据交互的使用

    最近有个需求是新闻时间排序与点击量排序,数据库中存储的新闻是按照时间顺序排序的,从后台数据中取出数据,在前端进行页面展示即可. 我用到了ant-design中的Tabs切换页,样式大概如下图. 其实这 ...

  6. maven项目检出后报错(包括编译报错和运行报错)的常见检查处理方式

    maven项目检出后报错(包括编译报错和运行报错)的常见检查处理方式: 1.更改项目的jdk为我们安装的jdk2.更改build配置里的 output folder 目录为 xxx项目名/target ...

  7. echarts 取消图例上的点击事件和图表上鼠标滑过点击事件

    备注:标黄的代码是起作用的代码,其他的不需要借鉴!!! //取消 鼠标滑过的提示框 tooltip : {         trigger: 'item',      show:false,      ...

  8. 编写前程贷投标loadrunner脚本及总结

    1.完成前程贷的(登录,投标) 2.所有的返回信息都用关联函数(web_reg_save_param_ex)进行关联 3.对返回信息用(strcmp)函数进行if判断 4.总结(web_reg_sav ...

  9. vue中extend/component/mixins/extends的区别

    vue中extend/component/mixins/extends的区别 教你写一个vue toast弹窗组件 Vue.extend构造器的延伸

  10. adb 安装apk到只当设备

    1.adb devices 2,选择指定的设备,如上面的那个 然后:adb -s 292be8597d94 install *apk