zoukankan      html  css  js  c++  java
  • 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镜像构建出来的。

  • 相关阅读:
    1020. Tree Traversals
    1001. A+B Format
    centos 各类无线网卡编译
    vim 详细配置 超全
    深夜复习strcpy函数原型竟然暗藏着这么多玄机
    第一篇博客
    strcat函数使用中出现的问题
    strcpy与strncpy工作方式及其区别
    strcpy与面试官
    linux下多线程编程
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10443131.html
Copyright © 2011-2022 走看看