‫Les conditions préalables à cette conférence sont que vous compreniez ce qu'est une image et que
‫vous avez travaillé un peu avec les conteneurs.
‫Dans cette conférence, nous allons faire un tour rapide de Docker Hub et en apprendre
‫quelques unes de ses fonctionnalités de base. Ensuite, nous discuterons un peu de la différence entre une image officielle et
‫peut-être d’autres bonnes images, et de la différence entre une bonne image et une mauvaise image.
‫Ensuite, je vais expliquer un peu le téléchargement d’images et comment vous pouvez voir les différentes étiquettes qu’elles
‫utiliseront et la différence entre une image Alpine et d’autres options d’image.
‫Vous auriez dû vous connecter à hub. docker. com. Lorsque vous vous connectez, votre
‫tableau de bord s'affiche sur votre page d'accueil par défaut, qui affiche tous vos référentiels, publics et privés.
‫Vous n'allez pas encore en avoir, mais vous pouvez voir que j'en ai ici.
‫Ils sont tous publics.
‫J'ai un privé. Pour l'instant, allons en haut et recherchons nginx. Nous allons récupérer les résultats de recherche de Docker Hub
‫et vous verrez qu'il y en a beaucoup. Je pourrais faire défiler les pages et les pages.
‫L'un des défis est qu'il y a 15 000 images de Nginx.
‫C'est beaucoup.
‫Donc, je vais en utiliser un ou deux.
‫L'officiel officiel
‫ici, vous verrez en haut, compte plus de 10 millions de tirages.
‫Il y a plusieurs caractéristiques à déterminer quelle est la bonne image.
‫Comme moi, vous allez commencer à utiliser les images de votre flux de travail qui sont liées à ce que vous faites et vous
‫allez vous habituer à des images spécifiques. Vous allez aimer les spécifiques.
‫En règle générale, nous commençons toujours par le fonctionnaire.
‫L'officiel sera le seul avec le mot "officiel" en dessous.
‫Ce sera également le seul où son nom ne comporte pas de barre oblique.
‫Lorsque vous créez des images sur Docker Hub, nous devons les créer avec notre nom de compte devant
‫elles.
‫Ainsi, lorsque vous examinez tous ces autres noms, il s’agit des noms de compte, des noms de référentiel d’image.
‫Ce pourrait être en fait une organisation slash Nginx ou quelque chose comme ça.
‫Mais les seuls qui obtiennent simplement le nom du référent sont considérés comme officiels. Les images officielles sont celles
‫que Docker, Inc. En fait, une équipe de personnes s’occupe d’eux, veille
‫à ce qu’ils disposent d’une documentation de qualité, qu’ils soient bien testés et qu’ils soient correctement
‫assemblés avec des Dockerfiles respectant les règles des meilleures pratiques. Ils travaillent généralement avec l’équipe officielle de ce logiciel,
‫qui en fait le nécessaire pour s’assurer qu’il fait tout ce qu’il devrait faire.
‫Je vais donc cliquer sur celui-ci.
‫Regardons quelques points concernant les dépôts officiels.
‫Comme je l'ai déjà dit, vous utiliserez souvent des officiels pour commencer et vous constaterez éventuellement que
‫vous souhaitez le modifier légèrement ou y ajouter quelques éléments pour créer vos propres images.
‫Les images officielles sont un excellent moyen de commencer.
‫Une des meilleures choses à propos des images officielles est leur documentation.
‫Ils sont toujours très doués pour documenter comment
‫les faire fonctionner, quelles options il pourrait y avoir, quelles variables d’environnement, quel est le port par défaut, etc.
‫Alors, en haut, vous remarquerez ces versions. Les versions sont une caractéristique commune des dépôts officiels.
‫Vous n'avez pas nécessairement de versions dans chaque image, mais les versions officielles en ont.
‫Parce que la plupart des logiciels à code source ouvert, il existe toujours au moins quelques versions officielles
‫qui sont officiellement maintenues et prises en charge.
‫C'est ce que nous avons ici. Nous avons la ligne principale 1. 11 pour Nginx et ensuite nous avons ce qui est considéré comme
‫la branche stable de Nginx, qui est 1. dix. Nous pouvons voir le
‫petit nom ici dit stable Jessie Dockerfile.
‫D'accord.
‫Alors décomposons cela.
‫1. 11 9, ligne principale, 1, 1. 11 et plus tard.
‫Ce sont tous des tags.
‫Lorsque nous commençons à parler d'images, les images ne sont pas nécessairement nommées. Les images sont étiquetées. Une version d'une image peut en
‫réalité comporter plusieurs balises.
‫Nous allons approfondir cela un peu plus tard lorsque nous commencerons à créer nos propres images
‫et que nous pourrons jouer avec le marquage.
‫Mais pour le moment, si je voulais télécharger cette image spécifique et vous vous souvenez plus tôt que nous l’avons
‫déjà téléchargée, c’est-à-dire
‫que si je crée une image docker ls, vous verrez les trois images sur lesquelles nous avons travaillé jusqu’à présent. ma machine.
‫Vous voyez la balise qui dit en dernier. La dernière en date est une balise spéciale.
‫Cela ne garantit pas nécessairement qu'il s'agira toujours du dernier commit dans le référentiel.
‫Cela signifie généralement que vous obtenez la dernière version de ce produit. Dans les référentiels officiels, il est très bien défini et cohérent, de
‫sorte que
‫si vous ne vous souciez pas vraiment de la version que vous voulez, vous voulez juste la
‫version la plus récente, vous pouvez simplement dire que docker tire nginx. Il téléchargerait le
‫dernier. Vous remarquerez qu'il savait déjà que je l'avais, il vérifia
‫le SHA pour s'assurer qu'il correspondait à celui de Docker Hub et dit
‫"Hé, j'ai déjà cette image, elle est à jour. "Et si je voulais télécharger la version 1 de Docker image? 11 9?
‫Il va vérifier et voir ce qu'il faut faire pour télécharger cette image et
‫il s'avère qu'il n'a rien à faire car c'est la même version.
‫C'est ce que cette ligne signifie ici.
‫Je peux me référer à cette version "principale, la plus récente" ici par n'importe laquelle de ces balises.
‫La raison est si je voulais juste rester sur la dernière version de 1. 0, peu importe ce que cela pourrait être pour
‫Nginx, je pourrais simplement spécifier un 1. Si je voulais être plus précis lorsque j'ai téléchargé
‫des images et que je voulais la dernière version de 1. 11, alors je pourrais simplement taper 1. 11 comme ça et laissez
‫de côté le. 9 et il téléchargerait celui-là.
‫Mais dans mon cas, j’ai précisé le plus spécifique de tous les 1. 11 9 qui montre le point
‫de libération et c'était juste pour m'assurer que j'ai la version exacte que je voulais.
‫Ainsi, dans votre logiciel, la meilleure pratique consiste à mettre en production le logiciel que vous allez
‫utiliser pour les autres. Vous
‫devez toujours spécifier la version exacte.
‫Il est rare que vous souhaitiez réellement que votre logiciel soit mis à jour automatiquement.
‫Vous souhaitez généralement contrôler ce processus avec un autre outil DevOps.
‫Mais lorsque vous développez ou testez quelque chose localement, il est très facile, avec des images officielles, de saisir le
‫nom et de supposer que vous obtiendrez les dernières informations.
‫Vous remarquerez donc qu'il y en a d'autres.
‫Il y a 1. 11 9-alpine et tous ont des noms très similaires au premier mais
‫ils ont tous le mot alpine en eux.
‫Nous allons entrer dans les images de base et les distributions plus tard, mais pour l'instant, Alpine est en réalité une
‫distribution de Linux qui est très petite.
‫En fait, sa taille est inférieure à 5 Mo, je crois. Cette version signifie en réalité qu’elle provient d’une image de
‫base d’Alpine, mais qu’elle est très petite et légère, alors que celle par défaut ou la dernière image provient en
‫fait de jessie, une distribution Debian. C'est un peu plus grand en taille probablement
‫un peu plus de 100 Mo.
‫En fait, nous pouvons aller ici et regarder.
‫Donc 182MB nginx ici.
‫Si je veux télécharger cette version exacte de l’Alpine, je peux dire 1. 11 9-apline et ensuite docker image ls
‫et vous verrez que la version alpine est en réalité seulement 54 Mo et
‫la dernière version est de 182 Mo.
‫Vous remarquerez également que les trois versions que j'ai téléchargées ont
‫toutes le même ID d'image, car celui-ci est basé sur le SHA cryptographique de chaque image dans Docker Hub.
‫Donc, ce ne sont pas réellement trois copies différentes des images de 128 Mo.
‫C'est en fait un peu trompeur.
‫Il ne s’agit que de trois balises du même identifiant d’image et de 182 Mo de retard. Ce ne sont
‫que deux autres lignes montrant le même identifiant d’image avec différentes balises qui lui sont associées.
‫Mais assez de balises et de versions pour le moment.
‫Voyons
‫quelques autres choses dans Docker Hub. Si je retourne à nginx dans la barre de recherche et que je recherche à
‫nouveau nginx, vous verrez à nouveau qu'il existe de nombreuses autres options, que tout le monde peut créer.
‫Vous pouvez créer votre propre version personnalisée de Nginx. Etant donné qu’il s’agit d’un logiciel open
‫source et d’une distribution gratuite, vous pouvez le restaurer ici et l’offrir au public.
‫Ceci est très similaire au modèle de GitHub où ils vous permettent de stocker des logiciels
‫open source. Vous pouvez utiliser le logiciel d’autres personnes et l’offrir également.
‫La même chose va ici.
‫Vous pouvez utiliser les images d'autres personnes et les télécharger, les personnaliser, les télécharger à nouveau.
‫Donc, si je veux jamais envisager de ne pas utiliser de référentiel officiel, ce que je recherche généralement,
‫c'est un nombre d'étoiles et un certain nombre de sondages, car un référentiel populaire, selon moi, tend à établir la confiance.
‫Je vous recommande de toujours télécharger et inspecter le logiciel avant de l'utiliser. Regardez dans leur fichier Docker et espérez
‫qu’ils auront un référentiel open source sur lequel vous pourrez aller voir exactement comment ils
‫ont créé cette image.
‫Une bonne indication est lorsque vous voyez des choses qui ont cinq millions de poignées et 945 étoiles; Il y a clairement quelque
‫chose d'intéressant dans ce paquet et pourquoi tant de gens le choisissent plutôt que
‫d'utiliser l'image officielle.
‫Vous pouvez venir ici et regarder leur référentiel.
‫Vous pouvez réellement voir à droite qu'il est lié à son référentiel GitHub où se trouve
‫le logiciel open source qui construit cette image afin que vous puissiez l'inspecter; et, éventuellement, télécharger le
‫code source réel en dehors d’une image.
‫Mais, il a clairement fait quelque chose avec cette image Nginx qui le rend
‫meilleur que le défaut officiel.
‫Quelques autres choses. Sur la barre du haut, vous verrez Explorer. Explore vous donne simplement
‫un résumé de toutes les images officielles et vous pouvez les parcourir et,
‫croyez-moi, il y en a beaucoup. En fait, dans les ressources
‫de cette section, vous trouverez un lien vers la liste actuelle des images officielles et sous
‫"Bibliothèque", toutes les images officielles et leurs fichiers Dock résident.
‫Vous pouvez voir qu'il y en a beaucoup. Pour récapituler rapidement, dans cette conférence, nous avons parlé de Docker
‫Hub et de sa similitude avec le fait d'être le gestionnaire de paquets
‫apt pour Containers, puis de reconnaître les images officielles et de les utiliser.
‫Ensuite, je vous ai aidé à trouver un moyen de déterminer une bonne image publique à partir d’une image moins bonne.
‫Ensuite, quelques astuces sur les images de base et sur la façon dont les images alpines sont généralement plus petites que leurs homologues Debian.
‫Nous allons donc utiliser ces compétences dans le reste de cette section.