‫Maintenant, qu'en est-il du registre Docker dans un essaim?
‫Ce n'est pas vraiment très différent.
‫La bonne chose est que nous n'avons pas besoin d'exécuter une commande d'exécution de docker, nous pouvons en fait utiliser une commande de service docker comme nous en avons l'habitude
‫ou un fichier de pile comme nous en avons parlé dans une section précédente. Cela fonctionnera de la même manière que
‫sur l'hôte local, car nous pouvons simplement dire à l'essaim de parler à
‫lui-même pour le registre.
‫Donc, nous utiliserons la même adresse 127 et nous n'aurons pas à activer le registre non sécurisé,
‫car cela est déjà autorisé par le moteur Docker. Le maillage de routage permet en principe à tous les nœuds de communiquer avec le registre comme
‫si c'était local, n'est-ce
‫pas, parce que c'est un peu la magie du maillage de routage.
‫Je tiens simplement à vous rappeler qu'il s'agit d'un conteneur de données persistant.
‫Il stocke des données qui doivent durer dans le temps.
‫Vous devrez donc faire face à un scénario de production réelle. Vous devrez faire face à un pilote de volume
‫et à la manière de traiter, et prendre une décision fondamentale quant à la manière dont vous allez stocker les
‫données.
‫Mais nous ne ferons pas cela ici.
‫Pour cet exemple avec Swarm, je vais en fait changer un peu et ne pas utiliser le cluster à trois nœuds
‫que j'avais utilisé dans une section précédente.
‫Nous allons réellement utiliser Play With Docker cette fois. Si vous venez de jouer avec docker. com, nous allons effectivement
‫prouver que nous ne sommes pas un robot et ensuite, il va me poser des questions
‫au hasard, cela pourrait vous demander, peut-être pas.
‫Ensuite nous sommes dedans.
‫Récemment, Play With Docker a activé une nouvelle fonctionnalité qui nous permet de
‫configurer encore plus facilement un formulaire de test sous l’objet clé.
‫Je suppose que c'est une clé. Vous voyez qu'il y a des options ici qui sont
‫essentiellement des modèles pour la configuration d'un essaim, alors au lieu de vous montrer celle-ci configurée comme nous l'avons déjà fait, je vais
‫simplement configurer cinq gestionnaires, aucun ouvrier, laissez-la une seconde pour ça va régler tout ça. Fondamentalement, nous allons commencer par un
‫essaim de cinq nœuds. Nous allons juste gérer un registre très rapidement pour
‫montrer à quel point c'est à peu près la même chose qu'auparavant.
‫D'accord. Maintenant, j'ai cinq nœuds de gestionnaire et si j’ai fait le nœud docker ls, vous pouvez voir que j’en ai
‫cinq.
‫Alors oui. Nous avons un essaim. Exécutons simplement le registre, mais cette
‫fois-ci, nous
‫allons utiliser le service create et l'appeler registre.
‫Nous allons le publier à nouveau comme la dernière fois, le port 5000, et nous
‫allons ouvrir le registre des images.
‫Voilà.
‫Nous pouvons créer un registre ps service docker qui indique qu'il est en cours d'exécution. Dans Play With Docker, nous avons ce joli petit
‫bouton qui apparaît chaque fois que nous publions une application Web.
‫En fait, cela expose le port et donne une jolie petite URL conviviale permettant de tester cette application Web ou ce
‫point de terminaison Web.
‫Mais vous savez avec Registry, à la base,
‫ce n’est rien, il n’ya rien qui est retourné à part un HTTP 200.
‫Ce que nous pouvons faire, c’est avec tous les registres que nous pouvons réellement consulter le catalogue et cela
‫renverra un simple tableau JSON.
‫Vous remarquerez que son référentiel est vide.
‫Nous aurions pu le faire lors de la conférence précédente avec la base locale, mais jouons avec un peu ici
‫puisque nous sommes dans cette solution simple avec Play With Docker.
‫Laissez-moi faire la même chose quand je fais un docker comme avant du monde du salut. Je vais maintenant refaire le tag, alors nous
‫allons dire tag bonjour monde, puis je le renommerai ou renommerai un nouveau
‫référentiel 127. 0. 0. 1 5000, je
‫vais faire une poussée de docker.
‫Permettez-moi de faire un zoom avant pour que nous puissions voir un peu plus facilement.
‫docker push.
‫Ensuite, nous allons faire le 127. 0. 0.
‫1 OK Maintenant, cela a été transféré à notre référentiel. Nous pouvons vérifier, très rapidement,
‫si vous accédez à cet autre onglet et que je rafraîchis, vous remarquerez que les référentiels affichent désormais le nom du référentiel disponible.
‫Au fur et à mesure que nous ajoutons cela, cela élargirait le tableau et nous les verrions tous là.
‫À ce stade, je pourrais simplement faire comme avant, exécuter cette image, elle fonctionnerait exactement comme prévu
‫et l’agrandir. Pour prouver
‫ce point, je peux faire un docker tirer nginx.
‫Nous pouvons exécuter un
‫simple serveur Web nginx, le docker
‫tag nginx, puis le docker
‫push, le transférer dans notre registre.
‫Ensuite, vous verrez ici que j'en ai deux maintenant. J'ai deux dépôts là-bas. Ensuite, si j’ai créé
‫un service Docker, comme nous
‫le faisons
‫normalement, nous allons faire le
‫nginx 80 80, mais cette fois je vais spécifier l’image de la manière suivante.
‫Nous lui disons que nous ne voulons pas utiliser l'image de Docker
‫Hub,
‫à droite, pour démarrer le service et nous voulons l'utiliser.
‫Nous allons maintenant ajouter quelques options.
‫En fait, je vais créer des répliques 5 pour qu'un nginx démarre sur chaque nœud, puis nous allons créer
‫une nouvelle option qui a commencé à apparaître dans le 17. 04 Je pense que detach est égal à false et cela nous permettra de voir
‫la commande s'exécuter en temps réel.
‫Vous verrez qu'il est en train de se préparer, ce qui signifie qu'il s'agit essentiellement de télécharger
‫cette image du registre vers les nœuds, puis de se préparer et de l'exécuter.
‫Nous y voilà, nous avons fini.
‫Si je tire, vous remarquerez du haut que le port 80 est affiché car il s’agit d’un nouveau service
‫et vous verrez que je l’ai ici et que cela fonctionne.
‫Ce qui est intéressant, c’est que lorsque vous êtes dans un essaim, vous ne pouvez pas utiliser une image située sur un seul
‫nœud, n'est-ce pas?
‫Un essaim doit pouvoir extraire des images sur tous les nœuds d'un référentiel d'un
‫registre auquel ils peuvent tous accéder. Je n'en ai pas parlé dans la section
‫Swarm, mais c'est un point important, car cela signifie que vous ne pouvez pas simplement créer votre propre image sur un local, comme dans le
‫cas de manager1, et que manager2 ne le fera pas. être en mesure d'aller à manager1 et l'obtenir, non?
‫Ils doivent tous faire des push et des pulls d'un dépôt central quelque part.
‫Mais comme j’ai exécuté le registre en tant que service ici, ils peuvent tous savoir comment accéder à 127 zéro zéro, puis le
‫maillage de routage les dirigera réellement vers le bon conteneur, quel que soit le moment où ce registre s’exécute
‫sur l’un des nœuds, puis ça va tirer cette image nginx à tous les nœuds car ils doivent
‫être là.
‫Si vous avez créé un service de menu fixe ps nginx, vous verrez qu'il en existe un sur
‫chaque nœud et que l'image qu'il utilise est celle de notre registre.
‫OK, alors c'est tout pour montrer à quel point Swarm est très similaire avec Docker Registry.
‫À la fin, nous avons en quelque sorte mentionné, cette nouvelle friandise, que vous devez vous assurer que vos images que
‫vous utilisez dans un essaim sont simplement accessibles dans le registre dans lequel elles se trouveront.
‫Ils doivent être accessibles à tous les nœuds. Cela devrait être évident, car les nœuds ne peuvent pas partager
‫les images les uns avec les autres. En fait, ils doivent tous les extraire d'un
‫registre et doivent donc pouvoir l'atteindre.
‫Il se trouve qu'un maillage de routage facilite beaucoup l'exécution de cette tâche.
‫Juste comme un dernier petit conseil, si vous n’avez pas à gérer votre propre registre, aussi cool que cela puisse être
‫de le faire, utilisez simplement l’un de ceux hébergés sur Internet.
‫Ils sont redondants.
‫Ils ont la surveillance et tous les trucs appropriés impliqués dans la gestion du stockage.
‫Ils sont généralement, surtout si vous travaillez en open source,
‫la plupart d'entre eux sont gratuits.
‫Si vous le faites pour des raisons privées et que vous avez besoin de stocker des images privées, la plupart d’entre elles ont un coût très raisonnable,
‫c’est-à-dire un coût très bas pour stocker vos images.
‫Donc, que vous utilisiez un AWS, un Quay ou un Docker Hub ou une grande partie
‫des options disponibles, essayez plutôt d'abord et utilisez uniquement votre propre registre si vous avez réellement une exigence quelconque, peut-être
‫hors ligne, où elle doit être disponible. sans Internet, ou s'il existe une restriction de sécurité,
‫vous ne pouvez utiliser aucune plate-forme hébergée. Parce qu’il s’agit en fait d’une utilité et que c’est formidable
‫de pouvoir compter sur une autre personne pour résoudre ce problème à votre place.
‫J'espère donc que vous jouez avec et amusez-vous.
‫Maintenant que vous n'avez pas cette conférence, n'oubliez pas de nettoyer pour pouvoir commencer avec une nouvelle ardoise lors
‫de la prochaine conférence.