Exercice : Gestion des images Docker

Informations générales

Élément

Description

Compétences

Construire, tagger, documenter et publier des images Docker dans un registre.

Objectifs

- Comprendre la différence entre une image, un conteneur et un tag
- Construire une image à partir d’un Dockerfile
- Manipuler les tags (latest, versions, retaggage)
- Pousser une image vers un registre

Durée estimée

60 min

Répertoire de travail

C:\Docker\docker-images (Windows) ou ~/docker/docker-images (Linux)

Fichiers sources

Un Dockerfile simple (fourni ci-dessous)

À produire

- Un document imprimé avec vos observations et réponses

Moyens d’aide

Le support de cours


1. Rappel

  • Une image Docker est un artefact construit à partir d’un Dockerfile.

  • Un tag permet d’identifier une version spécifique d’une image.

  • Sans tag explicite, Docker utilise automatiquement :latest.


2. Questions

2.1. Image vs Conteneur

Expliquez la différence entre une image et un conteneur.


2.2. Commandes de base

Quelles sont les commandes pour :

  • lister les images disponibles localement

  • inspecter une image

  • supprimer une image

  • nettoyer les images orphelines (dangling images)


3. Échauffement

3.1. Construire une image

À partir du Dockerfile suivant, construisez une image sans tag :

FROM ubuntu:24.04
RUN apt-get update && apt-get install -y curl
CMD ["bash"]
  • Quelle est l’apparence de cette image dans docker image ls ?

  • Que signifient les champs <none>:<none> ?


3.2. Retagger une image

  • Identifiez l’IMAGE ID de l’image orpheline créée.

  • Donnez-lui un tag explicite toolbox:1.0.

  • Vérifiez dans docker images.


3.3. Construire avec un tag

Reconstruisez la même image en lui donnant directement un tag toolbox:2.0.
Comparez avec la version 1.0.


4. Cas pratique 1 – Comprendre les tags

  1. Re-tagguez toolbox:2.0 en toolbox:latest.

  2. Lancez deux conteneurs :

    docker run -it toolbox:1.0
    docker run -it toolbox
    
  3. Comparez les versions exécutées.


5. Cas pratique 2 – Supprimer et nettoyer

  1. Supprimez le tag toolbox:1.0.

  2. Observez ce qui se passe avec docker images.

  3. Exécutez :

    docker image prune
    

    ➡️ Quelles images sont supprimées ? Quelles restent ?


6. Cas pratique 3 – Publication

  1. Connectez-vous à Docker Hub (docker login).

  2. Retaggez toolbox:2.0 en :

    docker tag toolbox:2.0 <NOM_COMPTE>/toolbox:2.0
    
  3. Poussez l’image :

    docker push <NOM_COMPTE>/toolbox:2.0
    
  4. Vérifiez sur hub.docker.com que l’image est bien disponible.


7. Synthèse

  • Qu’est-ce qu’un tag et pourquoi est-il important ?

  • Quelle est la différence entre :latest et un numéro de version ?

  • Pourquoi faut-il être prudent avec latest en production ?