1. 基本格式
      docker build [OPTIONS] PATH
    2. 命令选项

    image.png

    1. 选择父镜像
    • 用户可以选择两种镜像作为父镜像,一种是所谓的基础镜像(baseimage),另外一种是普通的镜像(往往由第三方创建,基于基础镜像)。
    • Docker不同类型镜像之间的继承关系

    image.png

    1. 使用.dockerignore文件
      将不检查的目录,文件写到同Dockerfile目录下的.dockerignore文件中,docker build命令将不再检查在.dockerignore文件中的目录,文件,在创建镜像时候不将无关数据发送到服务端。
    • “*”表示任意多个字符;
    • “? ”代表单个字符;
    • “! ”表示不匹配(即不忽略指定的路径或文件)。
    1. 多步骤创建
      对于需要编译的应用(如C、Go或Java语言等)来说,通常情况下至少需要准备两个环境的Docker镜像:
    • 编译环境镜像:包括完整的编译引擎、依赖库等,往往比较庞大。作用是编译应用为二进制文件;
    • 运行环境镜像:利用编译好的二进制文件,运行应用,由于不需要编译环境,体积比较小。
      使用多步骤创建,可以在保证最终生成的运行环境镜像保持精简的情况下,使用单一的Dockerfile,降低维护复杂度。