{{tag>sysadmin docker label}}
====== Docker: Gestion des labels ======
===== Les images =====
Il est possible d'ajouter des labels sur les images via le Dockerfile
LABEL "my.namespace.environment"="test"
LABEL my.namespace.version="2.0"
LABEL my.namespace.description="This is an alpha test."
Après édition du Dockerfile, reconstruire l'image
docker image build --tag dir/img_name:version .
Il est également possible de spécifier des labels directement sur la ligne de commande lors de la construction de l'image via l'option --label de la commande build:
docker image build --label "namespace.key=value" --tag dir/image_name:version .
===== Les conteneurs =====
Ajouter (taguer) un ou plusieurs labels à la création du conteneur via l'argument **-l** ou **%%--label%%**:
docker container run --label "my.namespace.key1=value1" -l "my.namespace.key2=value2" container_name command
docker container run -d -it --label "phobos.tag=RED" busybox:latest /bin/sh
===== Filtrer par label =====
Filtrage des images
# Retrouver les images ayant le label dangling
docker images --filter "dangling=true"
# Retrouver les images ayant le label env et la valeur prod
docker images --filter "label=env=prod"
Filtrer les conteneur en fonction des labels:
docker ps -a --filter "label=com.example.foo=bar"
docker ps -a --filter "label=phobos.tag=RED"
===== Mise a jour des labels =====
Les labels ne peuvent pas être mis à jour sur un conteneur existant. Il faut supprimer et recréer le conteneur avec les labels souhaités.
===== Références =====
* https://voltwu.github.io/blog/docker/2020/08/11/manage-labels-on-docker/