Utilisation pratique des étiquettes (labels)
Mise en œuvre d'étiquettes dans le monde réel
1. Gestion du cycle de vie des conteneurs
## Création de conteneurs étiquetés avec des métadonnées spécifiques sur le cycle de vie
docker run -d \
--label "app=web-service" \
--label "environment=production" \
--label "lifecycle-stage=active" \
--label "expiration-date=2024-12-31" \
nginx:latest
2. Suivi et surveillance des ressources
graph TD
A[Étiquettes Docker] --> B[Identification des ressources]
A --> C[Suivi des performances]
A --> D[Répartition des coûts]
A --> E[Surveillance de la conformité]
Stratégie d'étiquetage pour la surveillance
Catégorie d'étiquette |
But |
Exemple |
Performances |
Suivre l'utilisation des ressources |
cpu-threshold="70%" |
Coûts |
Répartir les ressources cloud |
cost-center="engineering" |
Conformité |
Assurer le respect des exigences réglementaires |
data-classification="sensitive" |
3. Déploiement et orchestration
## Étiquetage au style Kubernetes pour l'orchestration de conteneurs
docker run -d \
--label "app=backend" \
--label "tier=api" \
--label "version=v1.2.3" \
--label "managed-by=labex-deployment" \
myapp:latest
Requêtage et filtrage avancés des étiquettes
Gestion de conteneurs basée sur les étiquettes
## Filtrer les conteneurs par plusieurs étiquettes
docker ps --filter "label=environment=production" \
--filter "label=app=web-service"
## Supprimer les conteneurs en fonction de conditions d'étiquettes
docker rm $(docker ps -a --filter "label=lifecycle-stage=deprecated" -q)
Étiquetage de métadonnées de sécurité
## Étiquetage axé sur la sécurité
docker build \
--label "security-scan=passed" \
--label "vulnerability-level=low" \
--label "compliance=pci-dss" \
-t secure-app:latest.
Workflows d'étiquetage automatisés
Script d'étiquetage continu pour l'intégration continue
#!/bin/bash
## Script d'étiquetage automatisé pour CI/CD
generate_ci_labels() {
local commit_hash=$(git rev-parse HEAD)
local branch_name=$(git rev-parse --abbrev-ref HEAD)
docker build \
--label "ci-commit=$commit_hash" \
--label "ci-branch=$branch_name" \
--label "ci-timestamp=$(date +%Y%m%d_%H%M%S)" \
--label "built-by=labex-ci" \
-t myapp:latest.
}
generate_ci_labels
Bonnes pratiques pour l'utilisation pratique des étiquettes
- Utilisez des noms d'étiquettes cohérents et significatifs
- Mettez en œuvre l'automatisation basée sur les étiquettes
- Intégrez les étiquettes avec les outils de surveillance
- Auditez et nettoyez régulièrement les étiquettes
Espaces de noms d'étiquettes recommandés
## Espaces de noms d'étiquettes standardisés
io.labex.app="web-service"
io.labex.environment="production"
io.labex.team="devops"
Modèles d'utilisation des étiquettes
graph LR
A[Création d'étiquettes] --> B[Gestion des ressources]
B --> C[Déploiement automatisé]
C --> D[Surveillance]
D --> E[Optimisation]
En maîtrisant l'utilisation pratique des étiquettes, les équipes peuvent exploiter les technologies de conteneurs de LabEx pour créer des environnements conteneurisés plus efficaces, gérables et traçables.