美文网首页
Dockerfile 详解

Dockerfile 详解

作者: 胡GaQue | 来源:发表于2022-05-03 23:21 被阅读0次

    1:Dockerfile是什么?

          Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Dockerfile。

    例:docker build -f /path/to/a/Dockerfile

    2:Dockerfile 基本结构

        Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,’#’ 为 Dockerfile 中的注释

    3:Dockerfile 文件说明

            Docker以从上到下的顺序运行Dockerfile的指令。为了指定基本映像,第一条指令必须是FROM。一个声明以#字符开头则被视为注释。可以在Docker文件中使用RUN,CMD,FROM,EXPOSE,ENV等指令。

    4:Dockerfile常用指令

            ##FROM

            指定基础镜像,必须为第一个命令。如果不以任何镜像为基础,那么写法为:FROM scratch,接下来所写的指令将作为镜像的第一层开始    

    FROM说明v1.0

            #RUN

              RUN指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定–no-cache参数

               Dockerfile中每一个指令都会建立一层,多少个RUN就构建了多少层镜像,写多个RUN会造成镜像的臃肿、多层,不仅仅增加了构件部署的时间,还容易出错,为使Dockerfile 更加易读,易懂和便于维护,复杂的 RUN 语句用反斜杠()分割成多行

                避免RUN apt-get upgrade和dist-upgrade,因为父镜像中的许多“essential”包无法在非特权容器内升级 。如果父镜像中包含的包已过期,请与其维护人员联系。如果您知道有foo需要更新的特定包,请使用 apt-get install -y foo自动更新。

    始终在同一 声明中结合RUN apt-get update使用

    相关文章

      网友评论

          本文标题:Dockerfile 详解

          本文链接:https://www.haomeiwen.com/subject/csjwvctx.html