4.2. 包括镜像中的元数据
定义镜像元数据有助于 OpenShift Container Platform 更好地使用您的容器镜像,允许 OpenShift Container Platform 使用您的镜像为开发人员创造更好的体验。例如,您可以添加元数据以提供有用的镜像描述,或针对可能也需要的其他镜像提供建议。
本主题仅定义当前用例集所需的元数据。以后可能还会添加其他元数据或用例。
4.2.1. 定义镜像元数据
您可使用 Dockerfile
中的 LABEL
指令来定义镜像元数据。标签与环境变量的相似之处在于标签是附加到镜像或容器中的键值对。标签与环境变量的不同之处在于标签对运行中的应用程序不可见,可用于快速查找镜像和容器。
有关 LABEL
指令的更多信息,请参阅 Docker 文档。
标签名称一般应具有命名空间。命名空间应进行相应设置,以反映将要提取和使用标签的项目。对于 OpenShift Container Platform,命名空间应设置为 io.openshift;而对于 Kubernet,命名空间应设置为 io.k8s。
有关格式的详细信息,请参阅 Docker 自定义元数据文档。
变量 | 描述 |
---|---|
| 该标签包含一个标签列表,以逗号分隔的字符串值的列表表示。标签是将容器镜像归类到广泛功能区域的方法。标签有助于 UI 和生成工具在应用程序创建过程中建议相关容器镜像。 LABEL io.openshift.tags mongodb,mongodb24,nosql |
|
指定标签列表,如果您未向容器镜像附带给定标签,则生成工具和 UI 可使用该列表提供相关建议。例如,如果容器镜像需要 LABEL io.openshift.wants mongodb,redis |
| 该标签可用于向容器镜像用户提供有关此镜像所提供服务或功能的更详细信息。然后 UI 可结合使用此描述与容器镜像名称,为最终用户提供更人性化的信息。 LABEL io.k8s.description The MySQL 5.5 Server with master-slave replication support |
|
镜像可能会使用此变量来表明它不支持扩展。UI 随后会将这一信息传达给该镜像的用户。不可扩展基本上意味着 LABEL io.openshift.non-scalable true |
| 该标签建议容器镜像正常工作可能需要的资源量。UI 可能会警告用户:部署此容器镜像可能会超出其用户配额。值必须与 Kubernetes 数量兼容。 LABEL io.openshift.min-memory 8Gi LABEL io.openshift.min-cpu 4 |