Maintenant que nous savons où sont stockées les images Docker, il est temps d’apprendre à les manipuler depuis le terminal.
Docker fournit plusieurs commandes simples permettant de gérer les images : rechercher celles disponibles dans un registre, les télécharger sur la machine, afficher celles présentes localement et supprimer celles qui ne sont plus utiles.
Dans cette leçon, nous allons découvrir quatre commandes essentielles :
docker search: rechercher une imagedocker pull: télécharger une imagedocker images: voir les images présentes localementdocker rmi: supprimer une image
Sommaire
Rechercher une image : docker search
Avant de télécharger une image, il peut être utile de vérifier si elle existe sur le registre et quelles variantes sont disponibles. Pour cela, Docker propose la commande docker search.
Exemple :
docker search nginxDocker interroge alors le registre (Docker Hub par défaut) et affiche une liste d’images correspondant à la recherche.
Exemple de résultat :
NAME DESCRIPTION STARS
nginx Official build of Nginx 20000
nginx/unit NGINX Unit 1200
bitnami/nginx Bitnami Nginx container 300
Ce tableau permet de repérer rapidement les images disponibles et d’avoir une idée de leur popularité grâce à la colonne STARS.
Paramètres utiles
Il est possible de limiter le nombre de résultats retournés :
docker search nginx --limit 5
On peut aussi filtrer les résultats, par exemple pour afficher uniquement les images ayant un certain nombre d’étoiles :
docker search nginx --filter stars=100
Ces filtres peuvent aider à identifier rapidement les images les plus populaires ou les mieux maintenues.
Télécharger une image : docker pull
Une fois l’image identifiée, il faut la télécharger sur la machine. C’est le rôle de la commande docker pull.
Exemple :
docker pull nginx
Docker va alors contacter le registre, télécharger les différentes couches de l’image et les stocker localement.
Pendant le téléchargement, on peut voir les différents layers se récupérer.
Exemple :
Pulling from library/nginx
a603fa5e3b41: Pull complete
c39e8cda9f4a: Pull complete
Digest: sha256:xxxxxxxx
Status: Downloaded newer image for nginx:latestParamètres utiles
Dans de nombreux cas, il est préférable de spécifier la version exacte de l’image à télécharger. Cette version est appelée un tag.
docker pull nginx:1.27
Si aucun tag n’est précisé, Docker utilisera automatiquement latest, qui correspond généralement à la dernière version publiée.
Il est aussi possible de préciser l’architecture cible, par exemple lorsque l’on travaille avec différentes plateformes :
docker pull --platform linux/amd64 nginx
Lister les images locales : docker images
Après avoir téléchargé plusieurs images, il peut être utile de voir ce qui est présent sur la machine. La commande docker images permet d’afficher la liste des images locales.
docker images
Exemple de sortie :
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 6efc10a0510f 2 weeks ago 187MB
mariadb 11 b3a1e2c4e5f6 3 weeks ago 410MB
hello-world latest feb5d9fea6a5 6 months ago 13kB
Chaque ligne correspond à une image stockée localement.
| Colonne | Description |
|---|---|
| REPOSITORY | Nom de l’image |
| TAG | Version de l’image |
| IMAGE ID | Identifiant unique |
| CREATED | Date de création |
| SIZE | Taille de l’image |
Paramètres utiles
Il est possible de filtrer l’affichage pour ne voir que certaines images.
Par exemple :
docker images nginx
Cette commande affiche uniquement les images correspondant à nginx.
On peut aussi afficher uniquement les identifiants des images :
docker images -q
Cette option est souvent utilisée dans des scripts.
Enfin, l’option --all permet d’afficher toutes les images présentes, y compris celles qui ne sont plus directement utilisées par un conteneur.
docker images --all
Cette vue permet notamment d’identifier les images orphelines ou inutilisées qui occupent encore de l’espace disque.
Supprimer une image : docker rmi
Avec le temps, certaines images deviennent inutiles et peuvent occuper de l’espace disque. Docker permet de les supprimer grâce à la commande docker rmi.
Exemple :
docker rmi nginx
Il est également possible de supprimer une image à partir de son identifiant :
docker rmi 6efc10a0510f
Paramètres utiles
Si l’image est utilisée par un conteneur, Docker refusera la suppression. Dans certaines situations, il peut être nécessaire de forcer la suppression :
docker rmi -f nginx
Il est aussi possible de supprimer plusieurs images en une seule commande :
docker rmi nginx mariadb redis
Lorsque beaucoup d’images inutilisées s’accumulent, Docker propose également une commande de nettoyage global que nous verrons plus tard :
docker image prune
À retenir
Ces quatre commandes constituent la base pour gérer les images Docker.
Commande Utilité docker searchrechercher une image sur un registre docker pulltélécharger une image docker imagesafficher les images locales docker rmisupprimer une image En pratique, vous utiliserez très souvent
docker pullpour récupérer des images etdocker imagespour vérifier ce qui est disponible sur votre machine.