Adjoindre notre image au Dockerhub

Pour garder en "mémoire" notre image, on peut enregistrer notre Dockerfile à un endroit. Ainsi même si nous supprimons notre image personnalisée, on pourra le créer de nouveau.

Une autre méthode consiste à l'envoyer dans le Dockerhub. Si vous le faites via un compte gratuit, il sera public et donc disponible pour tout monde 🌍.

Dans ce cours, nous verrons comment ajouter au Dockerhub une image.

Dockerhub rappel

Avant d'ajouter quoi que ce soit, faisons un bref rappel de ce qu'est Dockerhub.

C'est une plateforme qui contient la liste de toutes les images disponibles. Les images publiques peuvent être téléchargées par n'importe qui (dès lors que cette personne sache utiliser l'outil Docker).

Inscription

Pour utiliser cette plateforme, les utilisateurs doivent s'inscrire.

S'inscrire à Docker et commencer à l'utiliser

Remplissez les champs et connectez-vous à votre compte.

Vous allez tomber sur votre page personnelle qui liste toutes vos images.

Tableau de bord Dockerhub

Ci-dessus, ma page personnelle. Vous reconnaissez certainement la seule image que j'ai créé celtak/ubuntu-ping-ip.

Dans votre page personnelle, sauf si vous avez déjà utilisé Dockerhub, il ne devrait pas y avoir d'image. Mais maintenant, nous allons ajouter ensemble ubuntu_nodejs.

Créer un nouveau repository

Nous allons créer un nouveau repository.

Mais qu'est-ce qu'un repository 🤔?

En anglais repository signifie dépôt. On va donc en quelque sorte déposer une image dans la plateforme.

⓵ Cliquez sur "Create repository"

Créer un nouveau repository

⓶ Informations image

Complétez la fiche qui apparaît. Donner un nom à l'image qui sera envoyé au Dockerhub.

Nous l'appellerons ubuntu_nodejs. Vous pouvez choisir un autre nom si vous le désirez.

Appuyez sur le bouton "Create".

Informations pour créer un nouveau repository

Notez que pour utiliser cette image, il faut tapez dans mon cas celtak/ubuntu-ping-ip et non juste ubuntu-ping-ip. celtak étant le nom de mon compte. Le vôtre sera bien évidemment différent.

ubuntu_nodejs créé

Parfait 😃 ! Notre image est bien dans le Dockerhub. Enfin non pas tout à fait 🥺 ! Il nous reste une dernière chose à faire.

En effet, nous avons préparé le terrain. Mais pour l'instant, aucune image n'est rattaché au repository.

Preuve en est le fait que la commande ci-dessous ne fonctionnera pas.

docker run --rm -it celtak/ubuntu_nodejs
Unable to find image 'celtak/ubuntu_nodejs:latest' locally

Publier notre image dans le repository

Pour mettre notre image dans le repository, il faut que celle-ci soit déjà construite. Normalement, c'est déjà le cas, mais si vous l'avez supprimé, vous pouvez refaire ce qui est décrit dans la leçon construire une image dans Docker.

Vérifions que nous l'avons bien.

docker image ls
REPOSITORY      TAG       IMAGE ID       CREATED      SIZE
ubuntu_nodejs   latest    f64149a721f0   3 days ago   180MB

C'est ok 👍!

Maintenant nous allons passer à la chose la plus importante, c'est-à-dire publier notre image personnalisé en l'envoyant à notre repository. Cela se fait en deux étapes.

⓵ Tag

docker tag ubuntu_nodejs celtak/ubuntu_nodejs

Après tag il faut tapez le nom de notre image (ou son id) et ensuite le nom de notre repository.

⓶ Push

La commande ci-dessous permet d'envoyer notre image.

docker push celtak/ubuntu_nodejs

Il faudra peut-être vous loguer au préalable sur le terminal avant d'utiliser la commande docker push.

⓷ Vérifier

Après avoir utilisé les deux commandes ci-dessus, vérifions s'il est possible de bénéficier de notre image via le Dockerhub.

docker run --rm -it celtak/ubuntu_nodejs

Ça marche 😉 !

Page personnalisé de notre repository

Si on retourne dans la page principale de notre Dockerhub (onglet "Repositories") et que l'on clique sur notre image on à plusieurs informations utiles.

Informations d'une image dans le Dockerhub