什么是DockerFile:
用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。
构建Dockerfile的三个步骤:
- 编写Dockerfile文件
- docker build
- docker run
dockerfile构建过程解析:
dockerfile内容基础知识:
- 每条保留字指令都必须是大写字母,且后至少跟一个参数
- 指令按照从上到下逐条执行
#
注释- 每条指令都会创建一个新的镜像层,并对镜像进行提交
docker执行dockerfile的大致流程:
- docker从基础镜像运行一个容器
- 执行一条指令并对容器作出修改
- 提交生成一个新的镜像层
- 基于新生成的镜像运行一个容器
- 执行dockerfile中的下一条指令,指导所有的指令都执行完成
dockerfile体系结构(保留字指令):
- FROM:基础镜像,即当前镜像是基于哪个镜像的(类似于继承,当前类的父类是谁)。
- MAINTAINER:镜像维护者的姓名和邮箱地址。
- RUN:容器构建时要运行的命令。
- EXPOSE:当前容器对外暴露出的端口号。
- WORKDIR:指定在创建容器后,终端默认登陆进来的工作目录,一个落脚点。
- ENV:用来在构建镜像过程中设置环境变量。见 ①
- ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包。
- COPY:类似于ADD,拷贝文件和目录到镜像。
将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置;
两种写法:
1、copy xxx yyy
2、COPY['xxx','yyy']
- VOLUME:容器数据卷,用于数据保存和持久化工作
- CMD:指定一个容器启动时要运行的命令,见 ②
dockerfile文件中可以存在多个CMD命令,但只有最后一个生效,CMD后被dock