Découvrons Docker Hub.
Aujourd'hui, dans ce didacticiel, nous allons découvrir Docker Hub, y compris comment l'utiliser, comment créer notre propre image et comment il aide à publier et à extraire des images vers et depuis Docker Hub. Et nous passerons également du temps à explorer certains des référentiels populaires sur Docker Hub.
Pré-requis
Vous avez besoin d'un basique compréhension de Docker, familier avec l'environnement Windows et Linux. Ce didacticiel utilisera l'outil Docker Desktop pour pratiquer un exercice en cours, c'est-à-dire pour créer et pousser une image vers Docker Hub. Les utilisateurs Windows et Mac peuvent le télécharger et l'installer à partir de ici, et les utilisateurs Linux suivent ceci lien.
What is Docker Hub?
Docker Hub est un service de registre de référentiel fourni par Docker Inc.

Il nous permet d'extraire et de pousser des images Docker vers et depuis Docker Hub. Nous pouvons traiter cela comme un GitHub, où nous récupérons et envoyons notre code source, mais dans le cas de Docker Hub, nous téléchargeons ou publions nos images de conteneurs. Il s'agit d'un référentiel en ligne basé sur le cloud qui stocke les deux types de référentiels, c'est-à-dire le référentiel public ainsi que le référentiel privé. Les référentiels publics sont accessibles à tous, mais le privé est accessible au propriétaire concerné des référentiels; il y a aussi un coût qui lui est associé si nous stockons plus d'un certain nombre de référentiels en tant que référentiel privé.
Docker Hub Features
Docker Hub offre les fonctionnalités suivantes.
# 1. Référentiels d'images
Cela nous aide à trouver et à extraire des images de conteneurs à partir de Docker Hub.

Cela nous aide également à pousser des images en tant que référentiel public ou privé vers Docker Hub.
# 2. Équipe et organisations
Cela nous permet de créer des groupes de travail et de pousser les référentiels en tant que référentiels privés, qui ne peuvent être utilisés que dans notre organisation. De cette façon, nous avons géré l'accès à nos référentiels privés d'images de conteneurs.
#3. Intégration de GitHub et Bitbucket
Il permet l'intégration avec des référentiels de code source tels que GitHub et BitBucket.
# 4. Compilations automatisées
Si une modification du code source a été transmise aux référentiels de code source, il détecte et crée automatiquement des images de conteneur à partir de GitHub ou BitBucket et les pousse vers Docker Hub.
# 5. Crochets Web
Une fois que nous avons poussé nos images avec succès, à l'aide d'un webhook, cela déclenche une action pour intégrer Docker Hub à d'autres services.
# 6. Images officielles et éditeurs
Les images de haute qualité fournies par les dockers sont considérées comme des images officielles et peuvent être extraites et utilisées. De même, les images de haute qualité fournies par des fournisseurs externes sont des images d'éditeurs, également appelées images certifiées, qui offrent un support et une garantie de compatibilité avec Docker Enterprise. Nous discuterons plus d'images certifiées plus loin dans cet article.
Creating First Repository
Cette étape nécessite la connexion au Docker Hub en utilisant vos identifiants de connexion. Si vous n'avez pas de compte, vous pouvez déjà créer en cliquant sur le bouton Inscription disponible sur la page Web. Une fois connecté, vous pouvez créer le référentiel en cliquant sur Créer un référentiel sur la page d'accueil.
- Une fois cliqué sur Créer un référentiel, il vous demandera un nom, donnera un nom à votre référentiel.

- Sélectionnez une option de visibilité publique ou privée.
Nous pouvons également intégrer nos référentiels de code source tels que GitHub et BitBucket via les paramètres de construction, mais cela est facultatif et peut également être fait à un stade ultérieur.
- Une fois que tout est fait, cliquez sur Créer.
Félicitation! Vous avez créé vos premiers référentiels, qui ressembleront à ceci.

Docker Hub ne nous offre qu'un seul référentiel privé gratuitement. Cependant, si nous avons besoin de plus de référentiels privés, nous pouvons mettre à niveau notre compte vers un plan payant.
Ouvrez maintenant l'outil / le terminal Docker Desktop, téléchargé et installé ci-dessus et connectez-vous à Docker Hub, à l'aide d'une commande.
docker login
Exploring the images
Il existe deux façons de rechercher des référentiels publics et des images à partir de Docker Hub, c'est-à-dire que nous pouvons soit les rechercher à partir du site Web Docker Hub, soit utiliser l'outil de ligne de commande et exécuter la commande ci-dessous. Considérez que nous voulons rechercher l'image du référentiel MySQL.
docker search mysql

Downloading an image
Nous pouvons télécharger une image à partir de la commande Docker Hub en utilisant pull
commande comme suit
# docker pull mysql
Si nous avons déjà mysql
image sur notre machine, la commande ci-dessus mettra automatiquement à jour l'image avec la dernière version. Une chose à garder à l'esprit ici est que si nous remarquons la sortie de notre commande de recherche de docker, il y a beaucoup d'images de MySQL sur Docker Hub, et c'est parce que n'importe qui peut pousser une image. Mais cela dépend de nous, celui à utiliser en fonction de notre cas d'utilisation, et nous devons fromageer celui qui convient.
Disons que nous voulons extraire une image bitnami / mysql.
# docker pull bitnami/mysql
Creating an image
Ce processus nécessite un Dockerfile. On peut penser un Dockerfile comme un manuel d'instructions qui indique à docker ce qu'il faut assembler. En bref, c'est un fichier de configuration qui continue d'assembler les instructions, ce que nous lui disons d'assembler.
Comment cela fonctionne ?
Docker lit les instructions à partir d'un Dockerfile et crée automatiquement des images. L'image Docker est un système de fichiers en couches, et il se compose de plusieurs couches en lecture seule, et chaque couche d'une image Docker représente les instructions d'un Dockerfile. Suivons les étapes ci-dessous pour créer une image à l'aide de Dockerfile.
Créez un Dockerfile, qui spécifie la configuration de notre application.
# sudo vim Dockerfile
Remarque - Le nom du fichier doit être Dockerfile avec une majuscule "D" .
FROM ubuntu:16.04
MAINTAINER someuser@somedomain.com
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."
Jetons un coup d'œil à certains des mots clés importants utilisés dans Dockerfile
- Nous pouvons utiliser # symboles pour ajouter un commentaire dans un Dockerfile
- Le "De»Le mot clé définit l'image de base à utiliser.
- Le "MAINTAINER«Le mot-clé est la personne qui conservera cette image.
- Le "COURIR”Le mot-clé est utilisé pour exécuter l'instruction donnée pour l'image. Dans notre cas, mettez d'abord à jour le système, puis installez MySQL.
- Le "CMDLe mot-clé ”est utilisé pour exécuter une commande une fois le conteneur lancé.
- Le "COPYLe mot-clé ”peut être utilisé pour copier un fichier de notre système d'exploitation hôte vers le conteneur Docker.
- Le mot clé «EXPOSE» est utilisé pour spécifier le numéro de port sur lequel le conteneur exécutera son processus.
Exécutez la commande ci-dessous pour créer notre image Docker
syntaxe:
construction du docker -t / nom-repo.
# docker build -t asadali08537/first-repo .
Dans la commande ci-dessus, le nom de l'image est et ".»Spécifie le répertoire de travail actuel. Ceci indique à Docker de rechercher le répertoire actuel du fichier docker. "-t”Est utilisé pour marquer l'image. Nous pouvons voir une sortie similaire à:

Testons maintenant notre image en l'exécutant via la commande run de docker.
docker run asadali08527/first-repo
L'exécution de la commande ci-dessus demandera à votre image Docker d'installer avec succès MySQL sur votre machine avec toutes les mises à jour nécessaires, et enfin, elle affichera également un message d'écho.
Pushing an image
Une fois que notre image a été créée avec succès et qu'elle est en cours d'exécution, nous pouvons la pousser vers Docker Hub via la commande push.
docker push asadali08527/first-repo

Nous pouvons vérifier les balises d'image et l'état sur Docker Hub, qui ressemblera à quelque chose comme ça.

What is Docker Certified Images?
Ce sont les images officielles diffusées par les fournisseurs ou les contributeurs. Une image ne peut être certifiée par Docker Hub que si son contenu est conforme aux règles, normes et lois fournies par Docker Hub. En bref, cette image doit passer certains tests de base.
Docker Hub fournit le <strong>inspectDockerImage</strong>
outil, grâce auquel un fournisseur peut auto-certifier les images et les plugins (généralement, le fournisseur ou le contributeur publie ses plugins pour la journalisation des volumes et des réseaux).
Remarque -
Afin de publier notre image en tant que docker certifié, nous devons d'abord certifier et tester nos images et notre plugin par nous-mêmes via le inspectDockerImage outil, une fois que nous avons certifié et testé avec succès, lors de la soumission, Docker Hub le certifiera. Si notre contenu nécessite un environnement non certifié, il ne peut en aucun cas être publié comme certifié.
Popular images on DockerHub
De nombreuses images organisées et optimisées sont disponibles sur Docker Hub.
La popularité de ces images dépend de divers facteurs tels que l'attraction, la présence sur le marché, les notes, les scores de satisfaction, etc. Pour une liste détaillée des référentiels les plus populaires, naviguons vers le Docker Hub site Internet. L'utilisation d'une image dépend également du système d'exploitation et de son architecture.Si nous savons que les images extraites seront utilisées pour quel système d'exploitation et son architecture, nous devons prendre en compte les facteurs clés ci-dessous avant de tirer une image.
- Recherchez une version spécifique à l'aide de balises (principalement la dernière).
- Optez pour celui qui a le maximum de téléchargements et d'étoiles.
- Vérifiez ses mises à jour (quand il a été mis à jour pour la dernière fois).
- Si possible, vérifiez son type, qu'il s'agisse de l'éditeur vérifié ou officiel (Docker Certified).
Webhooks
Un webhook est un rappel Web qui fonctionne avec des événements, et c'est un moyen pour une application de fournir des informations en temps réel à une autre application. De nos jours, presque toutes les applications fournissent une fonction de webhook, et Docker Hub dispose donc également de cette fonctionnalité.
Il s'agit d'une API HTTP push déclenchée par des événements désignés par l'utilisateur. Nous pouvons utiliser un webhook dans docker pour notifier une application ou un service qui utilise les images concernées. En règle générale, nous configurons les webhooks avec docker comme un pipeline d'événements, de sorte que tout téléchargement de nouvelles images déclenchera les applications de test pour exécuter les cas de test de soulignement.
Une fois le résultat du test réussi, il déclenchera un autre événement, qui sera le déploiement du conteneur, et une fois que le déploiement aura été effectué avec succès, il déclenchera d'autres événements pour consigner les modifications effectuées jusqu'à présent.
Conclusion
Je pense que vous avez maintenant une bonne compréhension de Docker Hub et de la façon dont vous pouvez rechercher, créer et envoyer des images. Gardez à l'esprit que lorsque vous diffusez des images publiques, elles seront visibles par tous.
Si ce n'est déjà fait, consultez ceci Guide d'installation Docker.