Dockerfile详解

YAYA
0 评论
/ /
324 阅读
/
1281 字
04 2023-07

环境介绍

  1. Dockerfile中所用的所有文件一定要和Dockerfile文件在同一级父目录下,可以为Dockerfile父目录的子目录
  2. Dockerfile中相对路径默认都是Dockerfile所在的目录
  3. Dockerfile中一定要惜字如金,能写到一行的指令,一定要写到一行,原因是分层构建,联合挂载这个特性。
  4. Dockerfile中每一条指令被视为一层
  5. Dockerfile中指明大写(约定俗成)

指令介绍

FROM

功能为指定基础镜像,并且必须是第一条指令。

如果不以任何镜像为基础,那么写法为:FROM scratch。

同时意味着接下来所写的指令将作为镜像的第一层开始 语法:

FROM <image>
FROM <image>:<tag>
FROM <image>:<digest> 
三种写法,其中<tag>和<digest> 是可选项,如果没有选择,那么默认值为latest

MAINTAINER

指定作者

语法:

MAINTAINER <name>
1

新版docker中使用LABEL指明 LABEL 功能是为镜像指定标签

语法:

LABEL <key>=<value> <key>=<value> <key>=<value> ...
 一个Dockerfile种可以有多个LABEL,如下:

LABEL "com.example.vendor"="ACME Incorporated"
LABEL com.example.label-with-value="foo"
LABEL version="1.0"
LABEL description="This text illustrates \
that label-values can span multiple lines."
 但是并不建议这样写,最好就写成一行,如太长需要换行的话则使用\符号

如下:

LABEL multi.label1="value1" \
multi.label2="value2" \
other="value3"
    暂无数据
Forever Young

归档