DockerFile解析

⒈是什么?docker

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

⒉步骤ui

  ①手动编写一个符合规范的DockerFile文件(编写)设计

  ②使用docker build执行这个文件生成自定义镜像(构建)3d

  ③docker run(执行)blog

*继承

  DockerFile  =》  软件原材料开发

  Docker镜像  =》  软件交付品部署

  Docker容器  =》  软件运行态it

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镜像构建出来的。

相关文章
相关标签/搜索