📚 Docker pour les débutants : Le Chantier Naval

2.3 : Manipuler les images au terminal

📄 Article ✅ Gratuit

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 image
  • docker pull : télécharger une image
  • docker images : voir les images présentes localement
  • docker rmi : supprimer une image

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 nginx

Docker 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:latest

Paramè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.

ColonneDescription
REPOSITORYNom de l’image
TAGVersion de l’image
IMAGE IDIdentifiant unique
CREATEDDate de création
SIZETaille 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.

CommandeUtilité
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 pull pour récupérer des images et docker images pour vérifier ce qui est disponible sur votre machine.