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 ...
随机推荐
- 监控(1)-企业常用服务监控shell
-----------------企业监控------------------------主动探测监控(“监控机”主动探测“被监控机”)HTTP服务器监控#!/bin/shLANG=C#被监控服务器. ...
- Java内存模型基础
Java内存模型的基础 并发编程模型的两个关键问题 在并发编程种,需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体).通信是指线程之间以何种机制来交换信息.在 ...
- 【洛谷P3919】可持久化数组
题目大意:需要维护一个长度为 N 的数组,支持在历史版本上单点修改和单点查询. 题解:显然,如果直接暴力维护的话会 MLE.因此,采用线段树进行维护,使得空间复杂度由 \(O(mn)\) 降至 \(O ...
- 拖拽功能by javascript 和 react 两种实现方法
使用鼠标移动图片或者移动图像怪有意思的,那这个移动的效果是怎么实现的呢? 在拖动的过程中,我们会涉及到鼠标向下按,以及移动图形,还有我们松开这几个步骤. 当我们将鼠标向下按的时候,我们鼠标点的这个动作 ...
- MATLAB:图像水平、垂直、水平垂直镜像、转置、旋转变换(flipdim、mirror、transp、imrotate函数)
1.原图像经水平.垂直.水平垂直镜像设置通过mirror函数实现: close all; %关闭当前所有图形窗口,清空工作空间变量,清除工作空间所有变量 clear all; clc; I=imrea ...
- webstorm的一些小技巧
1.怎样禁止自动保存文件: 设置--->外观和行为--->常规--->Synchronization--->要么四个全不选,要么把最后两个不选 Settings--->A ...
- diff目录或文件比较
转载 2014年12月16日 19:16:54 1937 [功能] 以行的方式比较文本文件的异同处 若要比较目录,则会比较相同文件名的文件[参数] -b 忽略空格数目 ...
- 类的初始化过程(难点)--------java基础总结
前言:看到这么好的东西,忍不住又写到了博客上面 Student s = new Student();在内存中究竟做了哪些事情呢? ①加载student.class文件进内存. ②为栈内存s开辟空间. ...
- java中BorderLayout的使用方法
相关设置: 使用BorderLayout布局上下左右中布局5个按键,单击中间的那个按键时就关闭窗口 代码: /**** *java中BorderLayout的使用方法 * 使用BorderLayout ...
- 20181114 Redis
Redis 下载 Windows版本 Windows版本 已经有很久没有更新了,建议还是使用Linux版本 Linux版本 官网下载即可 配置文件 Windows版本 redis.windows.co ...