DockerFile

Dockerfile是什么

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

构建三步骤:

  1. 编写Dockerfile文件
  2. docker build
  3. docker run

DockerFile构建过程

DockerFile内容基础知识

  1. 每条保留字指令必须为大写字母且后面要跟随至少一个参数
  2. 指定按照从上到下,顺序执行
  3. 表示注释

  4. 每条指令都会创建一个新的镜像层,并对镜像进行提交

Docker执行DockerFile大致流程

  1. docker从基础镜像运行一个容器
  2. 执行一条指令并对容器做出修改
  3. 执行类型docker commit的操作提交一个新的镜像层
  4. docker再基于刚提交的镜像运行一个新容器
  5. 执行dockerfile中的下一条指令直到所有指令都执行完成

保留字指令

  • FROM:基础镜像,当前镜像是基于哪个镜像的
  • MAINTAINER:镜像维护者的姓名和邮箱地址
  • RUN:容器构建时需要运行的命令
  • EXPOSE:当前容器对外暴露出的端口
  • WORKDIR:指定创建容器后,终端默认登录进来的工作目录
  • ENV:用来在构建镜像过程中设置环境变量
  • ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
  • COPY:类似ADD,拷贝文件和目录到镜像中。将从构建上下文目录中<源路径>的文件/目录复制到新的一层镜像内<目标路径>的位置
  • VOLUME:容器数据卷,用于数据保存和持久化工作
  • CMD:指定一个容器启动时要运行的命令。DockerFile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
  • ENTRYPOINT:指定一个容器启动时要运行的命令。docker run之后的参数会被追加到其后。
  • ONBUILD:当构建一个被继承的DockerFile时运行命令,父镜像在被子继承后父镜像的onbuild被触发。
原文地址:https://www.cnblogs.com/ylcc-zyq/p/13278201.html