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 pushetdocker 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 :
Conclusion
- Vous avez mis en place un registry privé et son interface.
- Vous savez tagger, pousser et tirer des images depuis ce registre.