Skip to content

TP7 : Mise en place d'un registre Docker privé avec interface web

Objectif du TP

  • Déployer un registre Docker privé pour stocker vos images.
  • Configurer une interface web pour gérer ce registre.
  • Tagger, pousser et tirer des images depuis ce registre.

Rendu attendu

  • Capture de l’interface web listant votre image.
  • Les commandes utilisées (tag, push, pull, run).

Questions d'ouverture

  • À quoi sert un registre privé si Docker Hub existe déjà ?
  • Quelle différence entre docker tag, docker push et docker pull ?

Focus : Registry et tags

  • Un registre stocke et distribue des images (public/privé).
  • Les tags identifient une “version” d’image (ex: :latest, :v1).
  • En local/dev, HTTP peut dépanner; en prod, utilisez TLS + auth.

Mise en pratique

2.1. Création du fichier docker-compose.yml

Créez un docker-compose.yml avec le contenu suivant :

  • Service registry : Le registre Docker privé accessible sur le port 5000.
  • Service registry-ui : L'interface web pour gérer le registre, accessible sur le port 8080.
  • Volume registry_data : Le volume monté qui stocke les données du registre de manière persistante.

2.2. Vérification du déploiement

Lancez votre docker compose avec la commande up puis vérifiez le déploiement en allant sur l'interface web. L'interface devrait indiquer qu'aucune image n'est présente pour le moment.

Attention - Un registre exposé en HTTP sans TLS doit rester un usage de développement/local. En production, activez TLS et une authentification.

2.3. Pousser une image vers le registre privé

Récupérez l'image officielle hello-world. Retaguez l'image hello-world avec le nom que vous voulez (ex. localhost:5000/hello:demo). Envoyez l'image taguée vers votre registre (docker push localhost:5000/hello:demo). Retournez sur l'interface web http://localhost:8080 et actualisez la page. Vous devriez voir votre image listée.

2.4. Tester le registre privé

  • Supprimez l'image locale (indice : docker rmi).
  • Tirez votre image depuis votre registre (docker pull localhost:5000/hello:demo).
  • Exécutez votre image : vous devriez voir le message de Hello World de Docker.

2.5. Nettoyage

Après avoir terminé le TP, vous pouvez arrêter et supprimer les services en exécutant :

docker compose down

Conclusion

  • Vous avez mis en place un registry privé et son interface.
  • Vous savez tagger, pousser et tirer des images depuis ce registre.