Nous avons vu dans un précédent article Mémos des commandes Docker que nous pouvions récupérer des images sur Docker Hub afin de les intégrer dans des Dockerfiles dans le but de personnalisé les containers déployés.

Nous allons maintenant voir comment utiliser Docker Hub à l’aide du terminal et des commandes que nous avons à disposition grâce à Docker.

Docker Hub est un dépôt basé sur le cloud qui est totalement géré par l’organisation Docker. C’est un dépôt en ligne où les images Docker (qu’elles soient officielles ou non) peuvent être publiées et utilisées par les utilisateurs de la communauté Docker. Docker Hub rassemble à la fois des dépôts publics ainsi que des dépôts privés. Dans le cas où vous seriez une entreprise vous pourriez avoir un dépôt privé, utilisable seulement par vous, de sorte à ce que les autres utilisateurs ne puissent récupérer vos images personnalisées (qui pourrait contenir des données personnelles/sensibles).

Télécharger et Utiliser des images Docker Hub

Nous avons vu dans les précédents articles comment installer Docker sur Ubuntu et lister les commandes utiles à son utilisation. Nous allons commencer par voir les images que nous avons en local sur notre machine.

$ docker images

Dans notre cas nous voulons déployer un container Apache (le nom de l’image associé étant « httpd »).

$ docker pull httpd

Si nous avons l’image en local, alors Docker là mettra à jour si elle ne l’est pas sinon il téléchargera sa dernière version. Si vous souhaitez mettre à jour toutes vos images vous pouvez simplement exécuter :

$ docker pull

Nous savons comment lancer une image avec la commande « run ».

$ docker run -it [image]
$ docker run -it httpd

Après cette commande nous nous retrouvons dans le container que nous venons de lancer puisque nous avons ajouté l’argument « -it ». Dans ce container vous pouvez configurer votre service, ici modifier les paramètres d’Apache comme si vous étiez sur une machine classique.

On sort du container naturellement avec la commande :

$ exit

Imaginons maintenant que nous voulons créer un container Nginx. Nous allons donc chercher l’image associée.

$ docker search nginx

Cette commande affiche de nombreux résultats, en effet, certaines images ont été modifiée par des utilisateurs puis publiée afin de faciliter de prochaines configurations.

Dans notre cas, nous voulons l’image Nginx officielle qui n’a pas été modifiée.

$ docker pull nginx

Une fois que nous avons récupéré l’image, alors nous pouvons démarrer notre container.

$ docker run -it nginx

Publier des images sur Docker Hub :

Nous allons maintenant voir comment publier nos images personnalisées sur Docker Hub afin de pouvoir les réutiliser facilement. Pour commencer il faut se connecter à son compte Docker Hub, si vous n’en avez pas alors créez en un c’est très rapide.

Maintenant sur notre serveur Docker, on se connecte à Docker :

$ docker login --username=pseudo

Remplacez « pseudo » par votre pseudo, faites « Entrer » et validez avec votre mot de passe de compte Docker.

Maintenant on doit récupérer les ID de nos images :

$ docker images

Repérez l’ID de l’image que vous voulez upload sur Docker Hub. Nous allons lui associer un tag afin de l’identifier plus facilement qu’avec son ID qui est très peu représentatif.

$ docker tag e7860ef846q5 pseudo/myrepo:test

En faisant une commande push on envoie toutes nos images présente dans notre dépôt sur Docker Hub, et c’est ce que nous allons faire maintenant.

$ docker push pseudo/myrepo

Toutes les images qui auront été tag avec myrepo seront donc upload sur Docker Hub. Une fois l’envoie terminée, n’importe qui peut réutiliser votre image. Pour cela il suffit juste d’exécuter la commande suivante :

$ docker run pseudo/myrepo

Vous pouvez facilement gérer vos images depuis votre compte Docker Hub dans le cas où vous souhaiteriez en supprimer certaines !

Source : https://www.linux.com/blog/learn/intro-to-linux/2018/1/how-use-dockerhub
Publicités