# 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"
```

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

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

```bash
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"
}
```
