Dockerfile详解

Posted sandiandian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dockerfile详解相关的知识,希望对你有一定的参考价值。

Docker instructions

  • FROM

  • FROM指令是最重要的一个且必须为Dockerfile文件开篇的第一个非注释行,用于为映像文件构建过程指  定基准镜像,后续的指令运行与此基准镜像所提供的运行环境。

  • 实践中,基准镜像可以是任何可用镜像文件,默认情况下,docker build会在docker主机上查找指定的  镜像文件,在其不存在时,则会从Docker Hub Registry上拉取所需要的镜像文件

  • 如果找不到指定的镜像文件,Docker build会返回一个错误信息

    • Syntax

      • FROM <repository>[:<tag>]或

      • FROM <repository>@<digest>

        • <repository>:指定作为base image的名称

        • <tag>: base image的标签,为可选项,默认为latest;

 

  • MAINTANIER(depreacred) #较新版本中可以使用LABEL 采用K:V格式

  •   用于让Dockerfile制作者提供本人的详细信息

  •   Docker并不限制MAINTANIER指令可出现的位置,但是推荐将其放置于FROM指令之后

    • Syntax

      •  MAINTANIER <authtor>

        • <authtor>可以是任何文本信息,约定俗成使用作者笔字及邮箱
  • COPY
    • 用于从Docker主机复制文件至创建的新映像文件
    • Syxtax
      • COPY <scr>...<dest>或
      • COPY["<src>"..."<dest>"]
        • <src>:要复制的源文件或目录,支持使用通配符;
        • <dest>:目标路径,即正在创建的image的文件系统路径;建议为<dest>使用绝对路径,否则,COPY指定则为WORKDIR为其起始路径;
      • 注意:在路径中有空白字符时,通常使用第二种格式  
  • 文件复制准则
    • <src>必须是build上下文中的路径,不能是其父目录中的文件;
    • 如果<src>是目录,则其内部文件或子目录会被递归复制,但<src>目录自身不会被复制;
    • 如果指定了多个<src>,或在<src>中使用了通配符,则<dest>必须是一个目录,且必须以 / 结尾;
    • 如果<desc>不存在,会被自动创建,这包括其父目录路径。

 

 

 

  创建一个dockerfile工作目录,开始写一个简单的dockerfile

    

 

以上是关于Dockerfile详解的主要内容,如果未能解决你的问题,请参考以下文章

dockerfile详解

Dockerfile文件详解

Dockerfile文件详解

Dockerfile详解

Dockerfile详解

Docker:Dockerfile 命令详解