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."

一个镜像可以有多个Label。可以在一行上指定多个Label。在Docker 1.10之前的版本中,这减小了最终镜像的大小,但是新的版本有所不同。我们仍然可以通过以下两种方式之一在一条指令中指定多个Label

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

基础镜像或父镜像(FROM行中的镜像)中包含的Label可以被我们自己的镜像继承。如果Label已经存在并且具有不同的值,则最近应用在Label的值将覆盖先前设置的值。

要查看镜像的Label,请使用docker image inspect命令。我们可以使用--format选项来仅显示Label

docker image inspect --format='' myimage
{
  "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"
}

Last updated