# Commandes globales ## Description et scope Les commandes globales donnent une vue d’ensemble sur l’état du moteur Docker et permettent d’administrer le système lui-même. Contrairement aux commandes spécifiques aux conteneurs, images, réseaux ou volumes, elles agissent à un niveau supérieur (gestion globale, diagnostic, nettoyage, authentification). Elles sont particulièrement utiles pour : - Vérifier la configuration du moteur Docker. - Suivre les événements système en temps réel. - Surveiller l’espace disque occupé et l’utilisation des ressources. - Nettoyer les ressources inutilisées. - Rechercher et utiliser des images depuis un registre. - Gérer des contextes locaux ou distants. Dans ce chapitre, les commandes sont triées par ordre alphabétique. --- ## `docker context` Permet de gérer différents contextes Docker (par ex. : moteur local, hôte distant via SSH, cloud). Très utile pour basculer entre plusieurs environnements. ```bash docker context ls docker context use default ``` --- ## `docker events` Flux en temps réel des événements Docker (démarrage/arrêt de conteneurs, création de volumes, etc.). Pratique pour comprendre ce qui se passe en arrière-plan. ```bash docker events ``` ⚠️ Les événements (events) affichés le sont en continu depuis l'ouverture de la commande et non depuis le début de votre session. --- ## `docker help` Affiche l’aide générale de Docker et la liste des sous-commandes disponibles. Cette commande doit devenir un reflexe quand on est perdu. ```bash docker help ``` Voici un premier exemple qui permet d'obtenir la liste des commandes Docker : ```bash docker help ``` ![image](images/docker-help.png) Le développeur a souvent besoin de plus d'aide que des informations générales et dans ce cas, il peut donner un **mot-clé** (souvent une commande obtenue avec `docker help`) pour obtenir plus d'information sur une commande précise. Par exemple : pour obtenir de l'aide sur les conteneurs : ```bash docker help container ``` ![image](images/docker-help-container.png) --- ## `docker info` Affiche un résumé de la configuration et de l’état du moteur Docker : nombre de conteneurs, images, pilotes réseau utilisés, version du runtime, etc. ```bash docker info ``` --- ## `docker login` Permet de s’authentifier sur un registre de conteneurs (par défaut Docker Hub). Indispensable pour pousser des images privées et pour tirer (pull) des images de Docker Hub sans limite sur l'adresse IP de l'école. ![image](images/docker-login.png) ```bash docker login ``` > Remarque : pour le login interactif, un navigateur sera ouvert. Il vous faudra un navigateur tel que Chromium à installer avec la commande ```bash sudo apt install chromium ``` ⚠️ La commande `docker login --username *votre_username*` (ou `docker login --username *votre_username* --password *votre_mot_de_passe`) est à bannir tant qu'un gestionnaire de mot de passe n'est pas mis en place. Dans ce cas, le mot de passe est seulement encodé en base64 et reste lisible en clair. --- ## `docker logout` Déconnecte du registre où on s’était authentifié. ```bash docker logout ``` --- ## `docker search` Recherche une image sur Docker Hub (par défaut). Exemple : trouver toutes les images officielles et communautaires de node. ![image](images/docker-search.png) > Privilégez les images qui ont un status officiel et un grand nombre d'étoiles Pour obtenir plus d'information sur une image en particulier et comment l'utiliser, il faut visiter sa page sur [Docker Hub](https://hub.docker.com). ```bash docker search ``` --- ## `docker system df` Affiche la consommation **disque** par type de ressource (images, conteneurs, volumes). Permet d’identifier ce qui occupe de l’espace. ```bash docker system df ``` ![image](images/docker-df.png) --- ## `docker system prune` Nettoie toutes les ressources inutilisées (conteneurs stoppés, réseaux non utilisés, images orphelines, volumes non utilisés si on ajoute `--volumes`). ⚠️ Attention : commande destructive. ```bash docker system prune -a ``` ![image](images/docker-system-prune.png) --- ## `docker version` Affiche la version du client et du serveur Docker. Utile pour vérifier les compatibilités. ```bash docker version ``` ![image](images/docker-version.png)