DockerFile解析
⒈是什么?
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解析的更多相关文章
- Dockerfile解析(八)
一.Dockerfile是什么 Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本. 1. 构建的步骤 运行容器:docker run 构建新的镜像:docker ...
- 6、DockerFile解析:三步走、保留字指令
1.dockerfiel是什么 1.是什么 Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本. 2.构建三步骤 编写Dockerfile文件 docker bu ...
- docker学习笔记-05:DockerFile解析
一.DockerFile是什么 1.DockerFile是用来构建docker镜像的构建文件,是由一系列参数和命令构成的脚本. 2.构建三步骤: 手动编写一个dockerfile文件,然后直接dock ...
- dockerfile解析过程
什么是dockerfile? DockerFile是用来构建docker镜像的文件,是由一系列命令和参数组成. 构建步骤? 1.编写dockerfile文件 2.docker build 3.dock ...
- 05--Docker对DockerFile解析
一.是什么: 1.1 DockerFile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本 1.2 构建步骤: 1.2.1 编写Dockerfile文件 1.2.2 docker ...
- Docker小白到实战之Dockerfile解析及实战演示,果然顺手
前言 使用第三方镜像肯定不是学习Docker的最终目的,最想要的还是自己构建镜像:将自己的程序.文件.环境等构建成自己想要的应用镜像,方便后续部署.启动和维护:而Dockerfile就是专门做这个事的 ...
- Dockerfile 解析
Dockerfile Dockerfile是用来构建Docker镜像的构建文件,是由一系列参数和命令构成的脚本. 构建的三个步骤:1.编写Dockerfile文件 2.docker build 3 ...
- [置顶]
Docker学习总结(3)——Docker实战之入门以及Dockerfile(三)
应用镜像 csphere/wordpress:4.2 # cd docker-training/wordpress/ # ls -a . license.txt wp-config-sample.ph ...
- DockerFile理解与应用
1.DockerFile是什么? DockerFile是用来构建Docker镜像的构建文件,一般分为四部分:基础镜像信息.维护者信息.镜像操作指令和容器启动时执行指令,'#' 为 Dockerfile ...
随机推荐
- 【转】Linux 移动或重命名文件/目录-mv 的10个实用例子
熟悉了 复制命令,下一个相关的命令就是 mv 命令.当你想要将文件从一个位置移动到另一个地方并且不想复制它,那么mv 命令是完成这个任务的首选. 初识 mv 命令 mv 命令是一个与cp类似的命令,但 ...
- get skill
Get Skill 2018-01-16 > 001 防止数组越界的一种方法 ]; array[n%] = value; > 002 超时机制 在等待某个事件或标志时,设定一定时限,时限到 ...
- centos6.5重新调整/home和跟目录/大小
0. 说明 系统刚刚安装完之后,默认到/home有1.5TiB,而根分区只有200G.现在是要将VolGroup-lv_home缩小到200G,并将剩余的空间添加给VolGroup-lv_root. ...
- 「THUPC2018」赛艇 / Citing
https://loj.ac/problem/6388 矩形匹配,小地图经过位置为1,和大地图匹配不能同时存在一个1的位置,就可以是一个当前位置 1.bitset压位,....O(n^2m^2/64) ...
- C# ADO.NET与面向对象
软件开发的三层:界面层,业务逻辑层,数据访问层: 数据访问层:项目添加App_Code文件夹: 实体类:根据数据库表结构,类名和数据库表名一致: 每个成员变量要与数据库表的列相对应,对象正好可以列为一 ...
- Linux系统下yum镜像源环境部署记录
之前介绍了Linux环境下本地yum源配置方法,不过这个是最简单最基础的配置,在yum安装的时候可能有些软件包不够齐全,下面说下完整yun镜像源系统环境部署记录(yum源更新脚本下载地址:https: ...
- python-requests-proxies判断学习
# coding:utf8 import requests def prox(): url = 'http://115.159.33.177/images/ip.php' ip_list = [ 'h ...
- generator详解
generator函数 yield可以返回值,也可以传入值 形式: 注意!generator不能写成arrow function的形式!!! function *函数(){ 代码1... let a ...
- Oracle记录-开启与关闭数据库
1.配置tnsnames.ora/listener.ora #cd /usr/oracle/oracle/product/11.2.0/db_1/network/admin ---切换到安装目录 #v ...
- 八皇后问题动态演示_Qt5实现
//核心代码如下 //Queen--放置皇后 #include "queue.h" queue::queue() { *; ; this->board = new bool[ ...