CentOS7.6 Docker 操作(四) —— Dockerfile

是什么

是用来构建docker镜像的构建文件,是由一系列命令和参数构成的脚本。

构建三步骤

  1. 手动编写一个dockerfile文件
  2. docker build命令执行,获得一个镜像
  3. run

解析过程

内容知识
  1. 每条保留字指令都必须为大学字母且后面要至少跟随一个命令
  2. 指令从上至下执行
  3. /#表示注释
  4. 每条指令都会创建一个新的镜像层,并对镜像进行提交
执行过程
  1. docker 从基础镜像运行一个容器
  2. 执行一条指令并对容器做出修改
  3. 执行类似docker commit的操作提交一个新的镜像层
  4. docker再基于刚提交的镜像运行一个容器
  5. 执行dockerfile中的下一条指令直到所有指令都执行成功
保留指令
1
2
3
4
5
6
7
8
9
10
11
12
FROM #基础镜像
MAINTAINER #镜像作者和邮箱
RUN #容器构建时需要运行的命令
EXPOSE #当前容器对外暴露出的端口
WORKDIR #指定在创建容器后,终端默认登陆的进来工作目录
ENV #设置环境变量
ADD #将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY #拷贝文件和目录到镜像中
VOLUME #容器数据卷
CMD #指定一个容器运行时要运行的命令 可以有多个 只有最后一个生效 CMD 会被docker后面的参数替换掉
ENTRYPOINT #指定一个容器运行时要运行的命令 ENTRYPOINT会被docker后面的参数 追加
ONBUILD # 当构建子镜像时 父镜像会被触发