LABEL

LABEL <key>=<value> <key>=<value> <key>=<value> ...

LABEL 指令会添加元数据到镜像。LABEL是以键值对形式出现的。为了在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."

一个镜像可以有多个labels。你可以组合多个labels在一个LABEL里来指定多重labels。在Docker 1.10之前,这种做法可以降低最终镜像的大小,但现在不是这样。你仍然可以选择一个指令指定多个labels,使用以下的2种方法中其中一种:

LABEL multi.label1="value1" multi.label2="value2" other="value3"
LABEL multi.label1="value1" \
      multi.label2="value2" \
      other="value3"

Labels 包含在基镜像或者父母镜像(在FROM行的镜像)继承到你的镜像。如果label本身已经存在但是值不一样,最后的赋值将会覆盖前面的复制。

如果要查看镜像的labels,可以使用docker inspect命令。

"Labels": {
    "com.example.vendor": "ACME Incorporated"
    "com.example.label-with-value": "foo",
    "version": "1.0",
    "description": "This text illustrates that label-values can span multiple lines.",
    "multi.label1": "value1",
    "multi.label2": "value2",
    "other": "value3"
},
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐