Guide des technologies

Surveiller CPU et mémoire dans Docker Desktop

6 min read Docker Mis à jour 22 Oct 2025
Surveiller CPU et mémoire dans Docker Desktop
Surveiller CPU et mémoire dans Docker Desktop

Moniteur des ressources avec Docker Desktop

Pourquoi surveiller l’utilisation des ressources dans Docker Desktop

Docker Desktop exécute des conteneurs dans une couche virtualisée. Sur Windows, cela implique Hyper-V ou WSL2 ; sur macOS, HyperKit. Cette couche rend le comportement des conteneurs cohérent entre systèmes, mais elle ajoute aussi une surcharge. Les processus applicatifs des conteneurs et les services d’arrière-plan de Docker peuvent consommer beaucoup de CPU, de mémoire et d’E/S disque.

Surveiller les ressources vous permet de :

  • repérer rapidement un conteneur qui monopolise le CPU ou la mémoire ;
  • corriger les fuites mémoire ou les boucles de calcul ;
  • définir des limites pour préserver la réactivité de la machine hôte ;
  • planifier un nettoyage des images, conteneurs et volumes inutilisés.

Définitions rapides

  • VM : instance virtualisée qui héberge les conteneurs.
  • WSL2 : sous-système Windows pour Linux, utilisé par Docker Desktop sur Windows.
  • HyperKit : hyperviseur léger utilisé par Docker Desktop sur macOS.

Important — si votre machine devient lente, n’attendez pas : identifiez le processus (conteneur ou Docker lui-même) et appliquez des limites pour éviter une dégradation plus importante.

Tableau de bord Docker Desktop : contrôle visuel rapide

Le Dashboard de Docker Desktop offre une interface conviviale pour surveiller vos conteneurs en temps réel sans terminal.

  • Ouvrez Docker Desktop et allez dans la section Containers.
  • Chaque conteneur affichera l’utilisation CPU et mémoire en temps réel.
  • Cliquez sur un conteneur pour accéder aux logs, variables d’environnement, processus en cours et mesures CPU/mémoire/disque/réseau.

Interface Docker Desktop montrant l'utilisation des ressources

Détails d'un conteneur dans Docker Desktop

Le Dashboard suffit pour des vérifications rapides et pour les développeurs qui préfèrent l’interface graphique.

Extension Resource Usage : graphiques et filtres avancés

L’extension Resource Usage enrichit le suivi avec des vues dédiées et des graphiques.

  • Dans Docker Desktop, ouvrez Extensions → recherchez Resource Usage → cliquez sur Install.

Installer l'extension Resource Usage

  • Après installation, l’icône apparaît dans la barre latérale. Ouvrez-la pour obtenir un tableau détaillé par conteneur (CPU, mémoire, I/O disque, réseau).
  • Utilisez le Chart View pour visualiser les pics et corrélations entre métriques.

Accéder à l'extension Resource Usage

Graphiques d'utilisation des ressources

Cette extension est utile quand vous gérez plusieurs conteneurs et que vous avez besoin de trier/filtrer par consommation.

Suivi en temps réel avec la commande docker stats

La commande docker stats fournit un flux en temps réel des métriques pour vos conteneurs depuis le terminal.

docker stats
  • Appuyez sur Ctrl+C pour arrêter le flux.
  • Pour un seul conteneur :
docker stats nom_ou_id_du_conteneur
  • Exemple d’affichage formaté (utile pour scripts) :
docker stats --no-stream --format "{{.Container}}: {{.CPUPerc}} {{.MemUsage}}"

Utiliser docker stats pour surveiller les ressources

Surveiller un conteneur précis avec docker stats

La ligne de commande est idéale pour l’automatisation, l’intégration dans des scripts d’alerte ou pour travailler sur des serveurs sans interface graphique.

Limiter les ressources : méthodes et exemples

Limiter CPU et mémoire évite qu’un conteneur n’épuise l’hôte. Voici les approches courantes.

  1. Préférences de Docker Desktop (GUI)
  • Windows/macOS : Docker Desktop → Settings / Preferences → Resources.
  • Ajustez : CPUs, Memory, Swap, Disk image size.
  • Exécutez Disk Cleanup si l’espace disque est saturé.
  1. Flags au démarrage d’un conteneur
docker run --name mon_app --memory=512m --cpus=1 my-image:latest
  • –memory définit la mémoire maximale.
  • –cpus contrôle le quota CPU.
  1. Docker Compose et limites
  • En mode swarm, utilisez deploy.resources (CPU/mémoire).
  • Pour Compose local, consultez la documentation de la version de Compose que vous utilisez pour la syntaxe des limites.

Note — certains paramètres de Compose ne s’appliquent que dans certains modes (swarm vs local). Vérifiez la compatibilité.

Méthodologie rapide pour diagnostiquer une utilisation élevée

Suivez ces étapes courtes pour identifier et corriger un problème :

  1. Reproduire le problème et mesurer : ouvrez Dashboard et docker stats pour capturer l’instant T.
  2. Isoler le conteneur : arrêtez les conteneurs non essentiels et observez si l’utilisation baisse.
  3. Inspecter les logs et processus : Docker Desktop → conteneur → Processes ; ou docker exec -it top.
  4. Appliquer une limite temporaire (–memory, –cpus) et redémarrer le conteneur.
  5. Si le conteneur doit rester gourmand, planifiez une optimisation du code ou un scale-out (plus d’instances plus petites).
  6. Nettoyer images et volumes inutilisés : docker system prune –volumes (attention à la perte de données non sauvegardées).

Mini-checklist à lancer en cas d’alerte :

  • le problème se produit-il sur tous les conteneurs ou un seul ?
  • l’hôte a-t-il assez de RAM libre ?
  • y a-t-il un pic d’I/O disque ou des erreurs réseau dans les logs ?

Outils alternatifs et intégrations pour surveillance avancée

  • Portainer : interface de gestion et surveillance légère.
  • Prometheus + Grafana : collecte métriques détaillées et tableaux de bord personnalisés.
  • Datadog / New Relic : solutions SaaS pour supervision et APM si vous avez besoin d’alertes et d’historiques longue durée.

Choix rapide : utilisez l’extension Resource Usage pour un besoin local simple ; installez Prometheus+Grafana pour des métriques historiques et des alertes fines.

Checklists par rôle

Développeur

  • Répliquer le problème localement avec la même image.
  • Utiliser docker stats et Logs pour isoler la cause.
  • Ajouter des limites temporaires pour la mise au point.

Opérations / SRE

  • Surveiller les tendances d’utilisation (métriques historiques).
  • Définir SLI/SLO si des ressources impactent la disponibilité.
  • Automatiser nettoyage et rotation d’images/volumes.

QA

  • Exécuter des tests de charge légers pour repérer les fuites mémoire.
  • Vérifier que les limites appliquées ne provoquent pas d’échecs fonctionnels.

Problèmes courants et résolutions

  • Docker Desktop consomme beaucoup de RAM : réduisez la mémoire allouée dans Settings → Resources ou limitez les conteneurs individuellement.
  • Disque rempli : lancez Docker Desktop → Troubleshoot → Clean / Purge data, ou exécutez docker system prune –volumes.
  • Conteneurs zombifiés ou en crash-loop : inspectez les logs et la commande d’entrée, limitez la mémoire pour éviter des effets de contagion.

Important — avant toute suppression massive (prune), sauvegardez les volumes contenant des données persistantes.

Glossaire en une ligne

  • Conteneur : instance isolée exécutant une application et ses dépendances.
  • Image : modèle immuable utilisé pour créer des conteneurs.
  • Volume : stockage persistant lié à un conteneur.
  • Host : machine physique ou VM qui exécute Docker Desktop.

Résumé final

Surveiller CPU et mémoire dans Docker Desktop est une pratique essentielle pour maintenir la réactivité de votre poste de travail et la stabilité des conteneurs. Pour la plupart des usages quotidiens, le Dashboard et l’extension Resource Usage suffisent. La commande docker stats est idéale pour l’automatisation et les diagnostics rapides. Appliquez des limites au niveau du conteneur ou via les préférences de Docker Desktop, suivez la méthodologie de diagnostic et utilisez des outils externes (Prometheus/Grafana, Portainer) pour la surveillance à long terme.

Notes

  • Sauvegardez toujours les données avant d’exécuter des commandes de nettoyage.
  • Vérifiez la documentation officielle de Docker Desktop pour les dernières options de configuration.

Fin

Auteur
Édition

Matériaux similaires

Installer et utiliser Podman sur Debian 11
Conteneurs

Installer et utiliser Podman sur Debian 11

Guide pratique : apt-pinning sur Debian
Administration système

Guide pratique : apt-pinning sur Debian

OptiScaler : activer FSR 4 dans n'importe quel jeu
Jeux PC

OptiScaler : activer FSR 4 dans n'importe quel jeu

Dansguardian + Squid NTLM sur Debian Etch
réseau

Dansguardian + Squid NTLM sur Debian Etch

Corriger l'erreur d'installation Android sur SD
Android, Dépannage

Corriger l'erreur d'installation Android sur SD

KNetAttach et remote:/ — Dossiers réseau KDE
Tutoriel

KNetAttach et remote:/ — Dossiers réseau KDE