mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-06 06:46:26 +01:00
83 lines
3.0 KiB
Plaintext
83 lines
3.0 KiB
Plaintext
// Module included in the following assemblies:
|
|
// * openshift_images/create-images.adoc
|
|
|
|
[id="images-create-metadata-define_{context}"]
|
|
= Defining image metadata
|
|
|
|
You can use the `LABEL` instruction in a `Dockerfile` to define image
|
|
metadata. Labels are similar to environment variables in that they are key value
|
|
pairs attached to an image or a container. Labels are different from environment
|
|
variable in that they are not visible to the running application and they can
|
|
also be used for fast look-up of images and containers.
|
|
|
|
link:https://docs.docker.com/engine/reference/builder/#label[Docker
|
|
documentation] for more information on the `LABEL` instruction.
|
|
|
|
The label names should typically be namespaced. The namespace should be set
|
|
accordingly to reflect the project that is going to pick up the labels and use
|
|
them. For {product-title} the namespace should be set to `io.openshift` and
|
|
for Kubernetes the namespace is `io.k8s`.
|
|
|
|
See the https://docs.docker.com/engine/userguide/labels-custom-metadata[Docker custom
|
|
metadata] documentation for details about the format.
|
|
|
|
.Supported Metadata
|
|
[cols="3a,8a",options="header"]
|
|
|===
|
|
|
|
|Variable |Description
|
|
|
|
|`io.openshift.tags`
|
|
|This label contains a list of tags represented as list of comma-separated
|
|
string values. The tags are the way to categorize the container images into broad
|
|
areas of functionality. Tags help UI and generation tools to suggest relevant
|
|
container images during the application creation process.
|
|
|
|
----
|
|
LABEL io.openshift.tags mongodb,mongodb24,nosql
|
|
----
|
|
|
|
|`io.openshift.wants`
|
|
|Specifies a list of tags that the generation tools and the UI might use to
|
|
provide relevant suggestions if you do not have the container images with given tags
|
|
already. For example, if the container image wants `mysql` and `redis` and you
|
|
do not have the container image with `redis` tag, then UI might suggest you to add
|
|
this image into your deployment.
|
|
|
|
----
|
|
LABEL io.openshift.wants mongodb,redis
|
|
----
|
|
|
|
|`io.k8s.description`
|
|
|This label can be used to give the container image consumers more detailed
|
|
information about the service or functionality this image provides. The UI can
|
|
then use this description together with the container image name to provide more
|
|
human friendly information to end users.
|
|
|
|
----
|
|
LABEL io.k8s.description The MySQL 5.5 Server with master-slave replication support
|
|
----
|
|
|
|
|`io.openshift.non-scalable`
|
|
|An image might use this variable to suggest that it does not support scaling.
|
|
The UI will then communicate this to consumers of that image. Being not-scalable
|
|
basically means that the value of `replicas` should initially not be set higher
|
|
than 1.
|
|
|
|
----
|
|
LABEL io.openshift.non-scalable true
|
|
----
|
|
|
|
|`io.openshift.min-memory` and `io.openshift.min-cpu`
|
|
|This label suggests how much resources the container image might need in order to
|
|
work properly. The UI might warn the user that deploying this container image may
|
|
exceed their user quota. The values must be compatible with
|
|
Kubernetes quantity.
|
|
|
|
----
|
|
LABEL io.openshift.min-memory 8Gi
|
|
LABEL io.openshift.min-cpu 4
|
|
----
|
|
|
|
|===
|