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 ...
随机推荐
- Codeforces Round #419 (Div. 2) C. Karen and Game
C. Karen and Game time limit per test 2 seconds memory limit per test 512 megabytes input standard i ...
- MT【52】空间法向量理解直线条数
[从最简单的做起.]--波利亚 评:线面角转化成线与线的角,这道题还有类似的这类题是学生的难点.
- LOJ #2434. 「ZJOI2018」历史(LCT)
题意 click here 题解 我们首先考虑答案是个什么样的东西, 不难 发现每个点可以单独计算它的贡献. 令每个点 \(i\) 崛起次数为 \(a_i\) . 假设一个点子树的 \(\sum a_ ...
- 自学Zabbix9.1 Network Discovery 网络发现原理
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.1 Network Discovery 网络发现原理 1. 网络发现简介 网络 ...
- 【CF961G】Partitions(第二类斯特林数)
[CF961G]Partitions(第二类斯特林数) 题面 CodeForces 洛谷 题解 考虑每个数的贡献,显然每个数前面贡献的系数都是一样的. 枚举当前数所在的集合大小,所以前面的系数\(p\ ...
- 【转】cJSON 源码阅读笔记
前言 cjson 的代码只有 1000+ 行, 而且只是简单的几个函数的调用. 而且 cjson 还有很多不完善的地方, 推荐大家看完之后自己实现一个 封装好的功能完善的 cjson 程序. json ...
- hdu 2845 Beans(最大不连续子序列和)
Problem Description Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled ...
- 洛谷P3230 比赛
emmmmmm,这个之前讲课的原题居然出到比赛里了. 我怒肝2h+然后A了此题,结果还是被某高一巨佬吊打...... 题意:n个球队两两比赛,胜得3分,败得0分,平得1分. 现有一个总分表,求问可能的 ...
- mui dtpicker 时间的设置 以及MUI的弹窗
1)引入mui.min.css,然后引入mui.picker.min.css 注意这个mui.picker.min.css 与 mui.picker.css 不一样 2)引入 ...
- 牛客多校第三场 A- PACM Team 背包/记忆路径
https://www.nowcoder.com/acm/contest/141#question 一眼背包,用四维dp记录在A,B,C,D条件限制下可以获得的最大知识点,但是题目要求输出路径,在输入 ...