Un registre Docker : Les avantages pour vos images

L'Équipe Alphorm
L'Équipe Alphorm 8e lecture en min

Dans cet article et après le traitement des images Docker selon un tuto complet, nous explorerons comment choisir et utiliser un registre Docker pour publier vos images Docker. Que vous optiez pour un registre public ou privé, nous vous guiderons à chaque étape pour garantir la sécurité et la visibilité de vos images Docker.

 

Choisir un Registre Docker

Il existe plusieurs registres Docker publics et privés disponibles. Le choix entre un registre Docker public comme Docker Hub, GitHub Container Registry ou Amazon ECR, et un registre Docker privé tel que Docker Cloud ou Azure Container Registry, dépend de vos besoins en matière de visibilité et de sécurité.

Registre Docker Public

  • Visibilité: Votre image est accessible à tous.
  • Partage facile: Vous pouvez partager l’image avec un simple lien.
  • Sécurité: Votre image est accessible à tous, ce qui peut la rendre vulnérable aux attaques.
  • Contrôle limité: Vous n’avez pas autant de contrôle sur l’image qu’avec un registre privé.

Registre Docker Privé

  • Sécurité: Votre image est accessible uniquement aux utilisateurs autorisés.
  • Contrôle total: Vous avez un contrôle total sur l’image et pouvez la modifier à tout moment.
  • Coût: Les registres privés sont généralement payants.
  • Configuration: La configuration d’un registre privé peut être plus complexe que celle d’un registre public.
Différents types de registres Docker publics et privés

Choisissez judicieusement votre registre Docker, en tenant compte de vos besoins spécifiques en matière de visibilité, de sécurité et de contrôle. Après tout, la bonne décision peut grandement influencer la réussite de votre projet de développement logiciel.

Publication sur le Registre Docker Hub

Docker Hub est un registre d’images Docker public où vous pouvez publier vos images pour les rendre accessibles à tous. Voici les étapes pour publier une image sur Docker Hub :

Créez un compte gratuitement Docker Hub si vous n’en avez pas déjà un.. Un compte Docker Hub vous permettra de gérer et de publier vos images Docker.

Après la création du compte et la vérification de l’e-mail, vous devriez voir une interface semblable à celle de l’image suivante :

Interface utilisateur de Docker Hub

Une fois connecté, accédez à votre tableau de bord Docker Hub et créez un nouveau repository.

Étapes de création d'un repository Docker

Choisissez un nom significatif pour votre repository, qui reflète le contenu de vos images.

Interface de création de repository sur Docker Hub

Puis, vous aurez une interface comme celle-ci. Vous pouvez également ajouter une description et des tags pour organiser vos images.

Repository Alphormas sur Docker Hub

Ensuite, connectez-vous à Docker Hub via la ligne de commande Docker en utilisant la commande docker login

Cette commande vous demandera de saisir votre nom d’utilisateur et votre mot de passe Docker Hub.

Commande docker login pour se connecter à Docker Hub

Avant de publier votre image sur le registre Docker Hub, vous devez la tagger avec votre nom d’utilisateur Docker Hub (dans notre cas alphormas) et le nom de votre registre Docker (dans notre cas images_fromations).

Assurez-vous que votre image Docker a un tag approprié pour identifier sa version ou sa variante. Utilisez la commande suivante pour tagger votre image :

				
					docker tag site_alphorm alphormas/images_formation:site_alphorm_v1
				
			
Commande docker tag pour tagger une image Docker

Maintenant, publiez votre image sur Docker Hub pour cela utilisez la commande pour télécharger votre image taguée vers le registre Docker Hub.

				
					docker push alphormas/images_formation:site_alphorm_v1
				
			
Commande docker push pour publier une image Docker

Et finalement, nous parvenons à publier notre image Docker et à la rendre accessible à la communauté Docker ainsi qu’à d’autres utilisateurs de conteneurs.

 

Tableau de bord de Docker Hub

🚀 Transformez votre expertise en développement avec notre formation vidéo sur Docker !  pour commencer et révolutionner vos compétences dès maintenant Formation Docker !

Publier des Images Localement sur un Registre Docker

Lorsqu’il s’agit de développer et de déployer des applications basées sur des conteneurs Docker, il est crucial d’avoir un contrôle total sur le processus de gestion des images. Dans ce contexte, utiliser un registre Docker local offre un niveau supplémentaire de contrôle, de sécurité et de performance tout en permettant une gestion flexible et personnalisée de vos images Docker. C’est ce que nous allons expliquer dans cette partie du chapitre.

Tout d’abord, nous allons utiliser l’image officielle du registre Docker disponible sur le Docker Hub. Pour cela, nous tapons la commande suivante : docker pull registry.

Commande docker pull pour télécharger une image Docker

Nous pouvons utiliser la commande 'docker inspect' pour obtenir des informations officielles sur cette sur l’image.

Commande docker inspect pour obtenir des informations

Il faut ensuite lancer un container en précisant qu’il doit tourner en background et exposer son port 5000 sur le port 5000 de la machine hôte.

				
					 docker run -d --name REGISTRYLOCAL -p 5000:5000 registry
				
			
Commande docker run pour exécuter un container Docker

Afin que l’image puisse être uploadée dans le registre, il faut qu’elle suive un format spécifique. Le nom de l’image doit être préfixée par le FQDN et le port du registry.

En utilisant une requête GET sur le endpoint /v2/_catalog nous obtenons la liste des images présentes. curl localhost:5000/v2/_catalog

Commande curl pour interroger un registre Docker

Cette liste «{« repositories »:[]}» est vide car nous n’avons pas encore envoyé d’image dans le registre Docker.

Par défaut, le Docker daemon ne peut pas communiquer avec un registre Docker qui n’est pas sécurisé (c’est-à-dire sans TLS), ce qui est le cas du registre open source. Il y a cependant trois options possibles :

  • Changer la configuration du daemon et le redémarrer avec le flag –insecure-registry.
  • Utiliser la localhost exception qui permet la communication via localhost même sans le flag –insecure-registry. C’est l’approche que l’on utilise dans cet exemple.
  • Créer un certificat et des couples de clés publique/privée, signées par ce certificat, pour le daemon et le registre Docker.

Quand un registre Docker autre que le Docker Hub est utilisé, les tags des images de ce registre doivent être préfixés par REGISTRY_HOSTNAME. Et c’est ce que nous allons faire avec notre image.

				
					Docker tag site_alphorm localhost:5000/site_alphorm:1.0
				
			
Commande docker tag pour un registre local

Maintenant, il est temps d’ajouter notre propre image au registre Docker local. Après l’avoir taggée avec l’URL du registry local, nous la poussons vers le registry en utilisant cette commande

				
					docker push localhost:5000/site_alphorm:1.0.
				
			
Commande docker push pour un registre local

Puis , nous allons vérifier si notre image est bien présente sur notre registre Docker local en tapant toujours la même commande :

				
					 curl localhost:5000/v2/_catalog
				
			
Commande curl pour interroger un registre local

Et finalement, nous tirons notre image depuis le registre Docker local pour nous assurer que le processus de push a réussi.

Commande docker pull pour télécharger depuis un registre local

En suivant les étapes décrites dans cet article, vous avez réussi à créer et à utiliser votre propre registre Docker local. Félicitations pour avoir franchi cette étape cruciale dans votre parcours Docker !

Conclusion

Maîtriser l’utilisation d’un registre Docker est essentiel pour gérer efficacement vos images Docker. En suivant ce guide, vous serez en mesure de publier et sécuriser vos images, qu’il s’agisse de Docker Hub ou d’un registre local. par la suite se plonger vers un autre volet qui parle de Docker Compose

ÉTIQUETÉ : Docker
Partager cet article
Par L'Équipe Alphorm Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.