⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Qu'est-ce qu'un registre ?

Explication

Maintenant que vous savez ce qu'est une image de conteneur et comment elle fonctionne, vous vous demandez peut-être où stocker ces images.

Eh bien, vous pouvez stocker vos images de conteneur sur votre système informatique, mais que se passe-t-il si vous voulez les partager avec vos amis ou les utiliser sur une autre machine ? C'est là que le registre d'images entre en jeu.

Un registre d'images est un emplacement centralisé pour stocker et partager vos images de conteneur. Il peut être public ou privé. Docker Hub est un registre public que tout le monde peut utiliser et c'est le registre par défaut.

Bien que Docker Hub soit une option populaire, il existe de nombreux autres registres de conteneurs disponibles aujourd'hui, notamment Amazon Elastic Container Registry(ECR), Azure Container Registry (ACR) et Google Container Registry (GCR). Vous pouvez même exécuter votre propre registre privé sur votre système local ou au sein de votre organisation. Par exemple, Harbor, JFrog Artifactory, GitLab Container registry, etc.

Registre vs. dépôt

Lorsque vous travaillez avec des registres, vous pouvez entendre les termes registre et dépôt comme s'ils étaient interchangeables. Bien qu'ils soient liés, ils ne sont pas tout à fait la même chose.

Un registre est un emplacement centralisé qui stocke et gère les images de conteneur, tandis qu'un dépôt est une collection d'images de conteneur apparentées au sein d'un registre. Considérez-le comme un dossier où vous organisez vos images en fonction des projets. Chaque dépôt contient une ou plusieurs images de conteneur.

Le diagramme suivant montre la relation entre un registre, les dépôts et les images.

I I I I I m m m m m a a a a a g g g g g e e e e e : : : : : R D p p D p p p e é r r é r r r g p o o p o o o i ô j j ô j j j s t e e t e e e t t t t t t r A - - B - - - e a a b b b : : : : : v v v v v 1 2 1 1 2 . . . . . 0 0 0 1 0
Note

Vous pouvez créer un dépôt privé et un nombre illimité de dépôts publics en utilisant la version gratuite de Docker Hub. Pour plus d'informations, visitez la page d'abonnement de Docker Hub.

Essayez-le

Dans cette prise en main, vous apprendrez à construire et à pousser une image Docker vers le dépôt Docker Hub.

Créez un compte Docker gratuit

  1. Si vous n'en avez pas encore créé, rendez-vous sur la page Docker Hub pour créer un nouveau compte Docker.

    Capture d'écran de la page officielle de Docker Hub montrant la page d'inscription

    Vous pouvez utiliser votre compte Google ou GitHub pour vous authentifier.

Créez votre premier dépôt

  1. Connectez-vous à Docker Hub.

  2. Sélectionnez le bouton Créer un dépôt dans le coin supérieur droit.

  3. Sélectionnez votre espace de noms (très probablement votre nom d'utilisateur) et entrez docker-quickstart comme nom de dépôt.

    Capture d'écran de la page Docker Hub qui montre comment créer un dépôt public
  4. Définissez la visibilité sur Public.

  5. Sélectionnez le bouton Créer pour créer le dépôt.

C'est tout. Vous avez créé avec succès votre premier dépôt. 🎉

Ce dépôt est vide pour le moment. Vous allez maintenant y remédier en y poussant une image.

Connectez-vous avec Docker Desktop

  1. Téléchargez et installez Docker Desktop, s'il n'est pas déjà installé.
  2. Dans l'interface graphique de Docker Desktop, sélectionnez le bouton Se connecter dans le coin supérieur droit.

Cloner l'exemple de code Node.js

Pour créer une image, vous avez d'abord besoin d'un projet. Pour commencer rapidement, vous utiliserez un exemple de projet Node.js trouvé sur github.com/dockersamples/helloworld-demo-node. Ce dépôt contient un Dockerfile pré-construit nécessaire pour construire une image Docker.

Ne vous inquiétez pas des spécificités du Dockerfile, car vous en apprendrez davantage dans les sections suivantes.

  1. Clonez le dépôt GitHub en utilisant la commande suivante :

    git clone https://github.com/dockersamples/helloworld-demo-node
    
  2. Naviguez dans le répertoire nouvellement créé.

    cd helloworld-demo-node
    
  3. Exécutez la commande suivante pour construire une image Docker, en remplaçant VOTRE_NOM_UTILISATEUR_DOCKER par votre nom d'utilisateur.

    docker build -t <VOTRE_NOM_UTILISATEUR_DOCKER>/docker-quickstart .
    
    Note

    Assurez-vous d'inclure le point (.) à la fin de la commande docker build. Cela indique à Docker où trouver le Dockerfile.

  4. Exécutez la commande suivante pour lister l'image Docker nouvellement créée :

    docker images
    

    Vous verrez une sortie comme la suivante :

    REPOSITORY                                 TAG       IMAGE ID       CREATED         SIZE
    <VOTRE_NOM_UTILISATEUR_DOCKER>/docker-quickstart   latest    476de364f70e   2 minutes ago   170MB
    
  5. Démarrez un conteneur pour tester l'image en exécutant la commande suivante (remplacez le nom d'utilisateur par le vôtre) :

    docker run -d -p 8080:8080 <VOTRE_NOM_UTILISATEUR_DOCKER>/docker-quickstart
    

    Vous pouvez vérifier si le conteneur fonctionne en visitant http://localhost:8080 avec votre navigateur.

  6. Utilisez la commande docker tag pour étiqueter l'image Docker. Les étiquettes Docker vous permettent de nommer et de versionner vos images.

    docker tag <VOTRE_NOM_UTILISATEUR_DOCKER>/docker-quickstart <VOTRE_NOM_UTILISATEUR_DOCKER>/docker-quickstart:1.0
    
  7. Enfin, il est temps de pousser l'image nouvellement construite vers votre dépôt Docker Hub en utilisant la commande docker push :

    docker push <VOTRE_NOM_UTILISATEUR_DOCKER>/docker-quickstart:1.0
    
  8. Ouvrez Docker Hub et naviguez jusqu'à votre dépôt. Naviguez jusqu'à la section Tags et voyez votre image nouvellement poussée.

    Capture d'écran de la page Docker Hub qui affiche la nouvelle étiquette d'image ajoutée

Dans cette présentation, vous vous êtes inscrit à un compte Docker, avez créé votre premier dépôt Docker Hub, et avez construit, étiqueté et poussé une image de conteneur vers votre dépôt Docker Hub.

Ressources supplémentaires

Prochaines étapes

Maintenant que vous comprenez les bases des conteneurs et des images, vous êtes prêt à en apprendre davantage sur Docker Compose.