• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • 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.

    Qu'est-ce que 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é.

    Fonctionnalités du Docker Hub

    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. Constructions 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.

    Création du premier référentiel

    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.

    Mon premier 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.

    Création du premier référentiel

    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

    Explorer les 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

    Commande de recherche Docker

    Téléchargement d'une 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

    Créer une 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 ça 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 [email protected]
    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
    • LeDe»Le mot clé définit l'image de base à utiliser.
    • LeMAINTAINER«Le mot-clé est la personne qui conservera cette image.
    • LeCOURIR”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.
    • LeCMDLe mot-clé ”est utilisé pour exécuter une commande une fois le conteneur lancé.
    • LeCOPYLe 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 à:

    Créer une image Docker

    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.

    Pousser une 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

    pousser une image de docker

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

    Capture d'écran Docker Hub après avoir poussé une image

    Qu'est-ce que les images certifiées Docker?

    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 inspectDockerImage 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é.

    Images populaires sur 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).

    Crochets Web

    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.