Introduction
Docker a révolutionné le déploiement de logiciels en fournissant des solutions de conteneurisation légères et portables. Comprendre comment visualiser et gérer l'inventaire de vos conteneurs Docker est crucial pour les développeurs et les administrateurs système. Ce tutoriel vous guidera à travers différentes méthodes pour lister, inspecter et suivre efficacement les conteneurs Docker dans différents scénarios.
Vue d'ensemble des conteneurs Docker
Qu'est-ce qu'un conteneur Docker ?
Un conteneur Docker est un package exécutable léger et autonome qui inclut tout ce dont un logiciel a besoin pour fonctionner, y compris le code, l'environnement d'exécution, les outils système, les bibliothèques et les paramètres. Les conteneurs fournissent un environnement cohérent et reproductible pour les applications sur différentes plateformes informatiques.
Caractéristiques clés des conteneurs Docker
Isolation
Les conteneurs isolent les applications du système hôte et des autres conteneurs, garantissant que chaque application s'exécute dans son propre environnement sans interférer avec les autres.
graph TD
A[Système d'exploitation hôte] --> B[Conteneur 1]
A --> C[Conteneur 2]
A --> D[Conteneur 3]
Portabilité
Les conteneurs peuvent s'exécuter de manière cohérente sur différents environnements, du développement à la production, réduisant ainsi les problèmes de « ça marche sur ma machine ».
Efficacité
Les conteneurs sont plus efficaces en termes de ressources par rapport aux machines virtuelles traditionnelles, car ils partagent le noyau du système hôte et nécessitent moins de surcharge.
Conteneur vs Machine virtuelle
| Caractéristique | Conteneur Docker | Machine virtuelle |
|---|---|---|
| Utilisation des ressources | Léger | Important |
| Temps de démarrage | Quelques secondes | Quelques minutes |
| Niveau d'isolation | Niveau processus | Niveau système complet |
| Performance | Haute | Plus faible |
Cas d'utilisation courants
- Architecture microservices
- Intégration continue/déploiement continu (CI/CD)
- Développement d'applications cloud natives
- Environnements de développement et de tests
Flux de travail de base des conteneurs Docker
graph LR
A[Image Docker] --> B[Créer un conteneur]
B --> C[Démarrer le conteneur]
C --> D[Exécuter l'application]
D --> E[Arrêter le conteneur]
E --> F[Supprimer le conteneur]
Démarrer avec LabEx
Pour apprendre concrètement et acquérir une expérience pratique avec les conteneurs Docker, LabEx fournit des environnements interactifs et des tutoriels complets pour aider les développeurs à maîtriser les technologies de conteneurisation.
Visualisation de l'inventaire des conteneurs
Commandes de base pour la liste des conteneurs Docker
Liste des conteneurs en cours d'exécution
Pour afficher les conteneurs en cours d'exécution, utilisez la commande docker ps :
docker ps
Liste de tous les conteneurs (y compris les arrêtés)
Pour afficher tous les conteneurs, y compris ceux arrêtés :
docker ps -a
Techniques avancées de liste des conteneurs
Filtrage des conteneurs
Docker fournit des options de filtrage puissantes pour afficher des conteneurs spécifiques :
## Filtrer par statut
docker ps -f "status=running"
## Filtrer par image
docker ps -f "ancestor=ubuntu:latest"
Formatage personnalisé de la sortie
Personnalisez la liste des conteneurs avec des colonnes spécifiques :
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}"
Visualisation de l'inventaire des conteneurs
graph TD
A[Commande Docker] --> B{Type de liste}
B --> |Conteneurs en cours d'exécution| C[docker ps]
B --> |Tous les conteneurs| D[docker ps -a]
B --> |Conteneurs filtrés| E[docker ps -f]
Informations détaillées sur les conteneurs
Inspection d'un conteneur spécifique
Obtenir des informations détaillées sur un conteneur spécifique :
docker inspect [CONTAINER_ID]
Attributs de l'inventaire des conteneurs
| Attribut | Description | Exemple |
|---|---|---|
| ID du conteneur | Identificateur unique du conteneur | a1b2c3d4e5f6 |
| IMAGE | Image de base utilisée | ubuntu:latest |
| COMMANDE | Commande en cours d'exécution | /bin/bash |
| CRÉÉ | Date de création du conteneur | il y a 2 heures |
| STATUT | Statut actuel du conteneur | Actif depuis 45 minutes |
| PORTS | Ports exposés | 80/tcp |
| NOMS | Nom du conteneur | friendly_newton |
Conseil LabEx Pro
Lors de la manipulation de l'inventaire des conteneurs Docker, LabEx recommande de pratiquer ces commandes dans un environnement contrôlé pour développer la mémoire musculaire et la compréhension.
Scénarios pratiques
- Surveillance du cycle de vie des conteneurs
- Dépannage des déploiements de conteneurs
- Gestion de plusieurs environnements de conteneurs
- Audit des ressources des conteneurs
Techniques de gestion des conteneurs
Gestion du cycle de vie des conteneurs
Démarrage des conteneurs
Démarrez un conteneur à l'aide de la commande docker start :
docker start [CONTAINER_ID]
Arrêt des conteneurs
Arrêtez un conteneur en cours d'exécution correctement :
docker stop [CONTAINER_ID]
Redémarrage des conteneurs
Redémarrez un conteneur avec une seule commande :
docker restart [CONTAINER_ID]
Flux de travail du cycle de vie des conteneurs
graph TD
A[Créer un conteneur] --> B[Démarrer le conteneur]
B --> C{Statut du conteneur}
C --> |En cours d'exécution| D[Exécuter des commandes]
C --> |Arrêté| E[Redémarrer/Supprimer]
D --> F[Arrêter le conteneur]
F --> G[Supprimer le conteneur]
Gestion avancée des conteneurs
Exécution interactive des conteneurs
Lancez un shell interactif à l'intérieur d'un conteneur :
docker run -it ubuntu:latest /bin/bash
Exécution de commandes dans des conteneurs en cours d'exécution
Exécutez des commandes dans un conteneur actif :
docker exec [CONTAINER_ID] command
Gestion des ressources des conteneurs
Limitation des ressources des conteneurs
Contrôlez l'utilisation du processeur et de la mémoire :
docker run --cpus=2 --memory=1g ubuntu:latest
Surveillance de l'utilisation des ressources
Suivez les performances du conteneur :
docker stats [CONTAINER_ID]
Techniques de gestion des conteneurs
| Technique | Commande | Description |
|---|---|---|
| Créer | docker create | Préparer le conteneur sans le démarrer |
| Exécuter | docker run | Créer et démarrer le conteneur |
| Arrêter | docker stop | Arrêter correctement le conteneur |
| Supprimer | docker rm | Supprimer le conteneur |
| Suspendre | docker pause | Geler temporairement le conteneur |
Réseaux des conteneurs
Mappage des ports
Exposer les ports du conteneur à l'hôte :
docker run -p 8080:80 nginx:latest
Création de réseaux personnalisés
Créer des réseaux de conteneurs isolés :
docker network create mynetwork
docker run --network=mynetwork nginx:latest
Sauvegarde et migration des conteneurs
Création d'une capture instantanée du conteneur
Générer une image à partir d'un conteneur en cours d'exécution :
docker commit [CONTAINER_ID] myimage:backup
Exportation du conteneur
Enregistrer l'état du conteneur pour la migration :
docker export [CONTAINER_ID] > container.tar
Recommandation LabEx
Pour une gestion complète des conteneurs Docker, LabEx suggère de pratiquer ces techniques dans un environnement simulé et contrôlé pour développer des compétences pratiques.
Bonnes pratiques
- Utilisez toujours des limites de ressources.
- Mettez en place une surveillance appropriée des conteneurs.
- Nettoyez régulièrement les conteneurs inutilisés.
- Utilisez le contrôle de version pour les configurations des conteneurs.
- Mettez en œuvre des analyses de sécurité.
Résumé
Maîtriser la gestion de l'inventaire des conteneurs Docker est essentiel pour maintenir un environnement conteneurisé robuste et efficace. En utilisant les commandes de la ligne de commande Docker et les techniques de filtrage avancées, vous pouvez obtenir une vue d'ensemble complète de vos conteneurs en cours d'exécution et arrêtés, ce qui permet une meilleure gestion des ressources et une surveillance du système.



