⒈是什么?

  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. MT【34】正余弦的正整数幂次快速表示成正余弦的线性组合

    问题:如何快速把$cos^4xsin^3x$表示成正弦,余弦的线性组合? 分析:利用牛顿二项式展开以下表达式: 再利用欧拉公式$e^{i\theta}=cos\theta+isin\theta$ 比如 ...

  2. 自学Linux Shell3.3-列表命令ls

    点击返回 自学Linux命令行与Shell脚本之路 3.3-列表命令ls ls命令用于显示文件目录列表,和Windows系统下DOS命令dir类似.当执行ls命令时,默认显示的只有非隐藏文件的文件名. ...

  3. 自学Linux Shell9.3-基于Red Hat系统工具包:RPM属性依赖的解决方式-YUM在线升级

    点击返回 自学Linux命令行与Shell脚本之路 9.3-基于Red Hat系统工具包:RPM属性依赖的解决方式-YUM在线升级 本节主要介绍基于Red Had的系统(测试系统centos) yum ...

  4. CPP--借助神器VS理解内存存储(含大小端对齐)

    单位,补码之类的可以看这个:http://www.cnblogs.com/dotnetcrazy/p/8178175.html 先说说大小端对齐的事情,然后再看: 内存最小单位==>Byte,i ...

  5. asp.net C#压缩打包文件例子

    /// <summary> /// 压缩和解压文件 /// </summary> public class ZipClass { /// <summary> /// ...

  6. Markdown语法整理

    标题 语法格式:'#'+'空格'+'文本',一共6级 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 斜体 语法格式:1个星号包裹,我 ...

  7. js中this的总结

    http://www.blogjava.net/baoyaer/articles/105864.html 在面向对象编程语言中,对于this关键字我们是非常熟悉的.比如C++.C#和Java等都提供了 ...

  8. mac java jdk 安装删除

    安装: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载安装双击安装 卸载: ...

  9. HDU5367 思维map // 动态线段树

    地主毛毛有n座山,这些山在地主家门前排成一条直线.这些山一开始均有相同的高度.  每一天,毛毛都会要求花花开挖机把几座山挖掉一定高度,或者给一些山堆上一些高度.并且要求花花报告现在有多少座山属于“高山 ...

  10. 远程客户端连接MysqL数据库太慢解决方案

    远程客户端连接MysqL数据库太慢解决方案局域网客户端访问mysql 连接慢问题解决. cd /etc/mysql vi my.conf [mysqld] skip-name-resolve 此选项禁 ...