‫Was ist nun mit Docker Registry in einem Schwarm?
‫Es ist eigentlich nicht viel anders.
‫Das Schöne ist, dass wir keinen docker run-Befehl ausführen müssen, sondern einen docker service-Befehl verwenden können, wie wir es gewohnt sind, oder
‫eine Stack-Datei, über die wir in einem vorherigen Abschnitt gesprochen haben. Es wird genauso funktionieren wie auf dem lokalen
‫Host, da wir dem Schwarm nur sagen können, dass er mit sich selbst über
‫die Registrierung sprechen soll.
‫Daher wird dieselbe 127-Adresse verwendet, und wir müssen die unsichere Registrierung nicht aktivieren, da
‫dies von der Docker Engine bereits zugelassen wird. Das Routing-Netz ermöglicht es im Grunde genommen allen Knoten, mit der Registrierung zu
‫kommunizieren, als wäre
‫es lokal, richtig, denn das ist die Magie des Routing-Netzes.
‫Ich möchte Sie nur daran erinnern, dass dies ein beständiger Datencontainer ist.
‫Es speichert Daten, die im Laufe der Zeit dauern müssen.
‫Sie müssen sich also mit einem realen Produktionsszenario auseinandersetzen. Sie müssen sich mit
‫einem Volume-Treiber auseinandersetzen und festlegen, wie die Daten gespeichert werden sollen.
‫Aber das machen wir hier nicht.
‫In diesem Beispiel mit Swarm werde ich es ein wenig ändern und nicht den Drei-Knoten-Cluster verwenden, den ich
‫in einem vorherigen Abschnitt verwendet habe.
‫Dieses Mal werden wir Play With Docker verwenden. Wenn Sie nur mit Docker spielen gehen. com, wir werden
‫tatsächlich beweisen, dass wir kein Roboter sind, und dann werden mir einige zufällige Fragen gestellt,
‫vielleicht werden Sie gefragt, vielleicht auch nicht.
‫Dann sind wir drin.
‫Kürzlich hat Play With Docker eine neue Funktion aktiviert, die es uns noch
‫einfacher macht, ein Testformular einzurichten, das sich unter dem Schraubenschlüssel befindet.
‫Ich denke, das ist ein Schraubenschlüssel. Sie sehen, dass es hier Optionen gibt, die im Grunde
‫genommen Vorlagen für das Einrichten eines Schwarms sind. Anstatt Ihnen diesen einzurichten, wie wir es bereits getan haben, werde ich nur fünf
‫Manager einrichten, keine Arbeiter, geben Sie ihm eine Sekunde es wird all dies einrichten. Grundsätzlich beginnen wir mit einem
‫Schwarm mit fünf Knoten. Wir werden nur ganz schnell eine Registrierung durchführen,
‫um zu zeigen, dass es so ziemlich dasselbe ist wie zuvor.
‫Gut. Jetzt habe ich fünf Manager-Knoten, und wenn ich Docker-Knoten ls habe, können Sie sehen, dass ich fünf von ihnen
‫habe.
‫Also ja. Wir haben einen Schwarm. Lassen Sie uns eigentlich nur die Registrierung ausführen,
‫aber dieses
‫Mal verwenden wir den Dienst create und nennen ihn Registrierung.
‫Wir werden es wieder veröffentlichen, wie beim letzten Mal, Port 5000, und
‫wir werden die Bilderregistrierung aufrufen.
‫Es geht los.
‫Wir können eine ps-Registrierung für Docker-Dienste erstellen, die den Status "Wird ausgeführt" aufweist. In Play With Docker erhalten wir diese nette kleine
‫Schaltfläche, die immer dann angezeigt wird, wenn wir eine Webanwendung veröffentlichen.
‫Tatsächlich wird der Port freigelegt und es wird eine nette kleine freundliche URL angegeben, mit der wir diese Web-App oder diesen
‫Web-Endpunkt testen können.
‫Aber Sie wissen, dass es bei Registry
‫im Grunde genommen nichts gibt, nichts, das zurückgegeben wird, außer HTTP 200.
‫Was wir jedoch mit jeder Registrierung tun können, ist, dass wir uns den Katalog ansehen und
‫ein einfaches JSON-Array zurückgeben.
‫Sie werden feststellen, dass das Repository leer ist.
‫Wir hätten dies in der vorherigen Vorlesung auch vor Ort tun können, aber lassen Sie uns hier ein wenig spielen,
‫da wir in dieser einfachen Lösung mit Play With Docker sind.
‫Lassen Sie mich das Gleiche tun, wenn ich einen Docker-Pull wie zuvor von der Hallo-Welt mache. Ich werde das Tag jetzt noch einmal merken, also
‫sagen wir "Hallo Welt" und benennen es dann um oder versetzen es in ein neues
‫Repository 127. 0. 0. 1 5000 werde
‫ich einen Docker Push machen.
‫Lassen Sie mich das vergrößern, damit wir es ein wenig leichter sehen können.
‫Docker drücken.
‫Dann machen wir die 127. 0. 0.
‫1 OK. Jetzt hat es das in unser Repository geschoben. Wir können das sehr schnell
‫überprüfen, indem Sie zu dieser anderen Registerkarte gehen und ich aktualisiere. Sie werden feststellen, dass in den Repositorys jetzt der Name des verfügbaren Repositorys angezeigt wird.
‫Wenn wir mehr hinzufügen, würde dies das Array tatsächlich erweitern und wir würden sie alle dort sehen.
‫An diesem Punkt könnte ich genauso vorgehen wie zuvor, das Image ausführen, es würde genau so funktionieren, wie wir es erwartet hatten,
‫und es skalieren. Um diesen
‫Punkt zu beweisen, kann ich ein Docker-Pull-Nginx machen.
‫Wir können einen
‫einfachen nginx-Webserver ausführen, das Docker-Tag
‫nginx, und dann das Docker-Push,
‫das Backup in unsere Registrierung.
‫Dann wirst du hier sehen, dass ich jetzt zwei habe. Ich habe dort zwei Repositories. Wenn ich dann einen
‫Docker-Dienst erstellt habe, wie
‫wir es
‫normalerweise tun, werden wir den
‫Nginx 80 80 machen, aber dieses Mal werde ich das Bild so spezifizieren.
‫Wir sagen, dass wir das Docker Hub-Image nicht verwenden
‫möchten, um den Dienst zu starten, und wir möchten dies verwenden.
‫Jetzt werden wir einige Optionen hinzufügen.
‫Ich werde tatsächlich Replikate 5 ausführen, sodass ein Nginx auf jedem Knoten gestartet wird, und dann werden wir
‫eine neue Option ausführen, die ab dem 17. November angezeigt wird. 04 Ich glaube, lösen ist gleich falsch und dies ermöglicht es uns, den
‫Befehl tatsächlich in Echtzeit auszuführen.
‫Sie werden sehen, dass es sich vorbereitet, was bedeutet, dass es im Grunde genommen das Image von
‫der Registrierung auf die Knoten herunterlädt, und dann wird es fertig und dann läuft es.
‫Es geht los, wir sind fertig.
‫Wenn ich ziehe, werden Sie von oben feststellen, dass jetzt der Port 80 angezeigt wird, da es sich um einen neuen Dienst
‫handelt, und Sie werden sehen, dass ich ihn hier habe und er funktioniert.
‫Das Interessante daran ist, dass Sie in einem Schwarm kein Bild verwenden können, das sich nur auf einem Knoten
‫befindet, oder?
‫Ein Schwarm muss in der Lage sein, Bilder auf allen Knoten aus einem Repository in
‫einer Registrierung abzurufen, die alle erreichen können. Ich habe das im Schwarmabschnitt nicht erwähnt, aber
‫es ist ein wichtiger Punkt, denn das bedeutet, dass Sie nicht einfach ein eigenes Image auf einem lokalen Server erstellen können, wie in diesem Fall
‫beispielsweise manager1 und manager2 nicht in der Lage sein, zu Manager1 zu gehen und es zu bekommen, nicht wahr?
‫Sie müssen alle irgendwo von einem zentralen Repository aus pushen und ziehen.
‫Da ich die Registrierung hier als Dienst ausgeführt habe, können sie alle auf 127 Zero Zero One zugreifen. Das Routing-Mesh
‫leitet sie dann tatsächlich in Richtung des richtigen Containers, unabhängig davon, wo diese Registrierung auf einem
‫der Knoten ausgeführt wird Es wird dieses Nginx-Image auf alle Knoten ziehen, wenn sie dort sein
‫müssen.
‫Wenn Sie einen Docker-Dienst ps nginx ausgeführt haben, sehen Sie, dass auf jedem Knoten einer ausgeführt
‫wird und dass das verwendete Image aus unserer Registrierung stammt.
‫OK, das soll nur zeigen, wie ähnlich Swarm mit Docker Registry ist.
‫Am Ende haben wir sozusagen das neue Leckerbissen erwähnt, dass Sie sicherstellen müssen, dass Ihre Bilder, die Sie in
‫einem Schwarm verwenden, nur in der Registrierung zugänglich sind, in der sie sich befinden werden.
‫Sie müssen für alle Knoten zugänglich sein. Das sollte klar sein, denn die Knoten
‫können keine Bilder miteinander teilen. Sie müssen tatsächlich alle aus einer Registrierung abrufen und müssen daher
‫alle in der Lage sein, diese zu erreichen.
‫Es kommt einfach so vor, dass ein Routing-Mesh das Ausführen erheblich erleichtert.
‫Wie ein letztes kleines ProTip, wenn Sie keine eigene Registrierung ausführen müssen, so cool es auch sein
‫mag, verwenden Sie einfach eine der gehosteten im Internet.
‫Sie sind überflüssig.
‫Sie haben die Überwachung und alle richtigen Dinge, die mit der Verwaltung des Speichers zu tun haben.
‫Sie sind in der Regel kostenlos, besonders wenn
‫Sie Open Source betreiben.
‫Wenn Sie dies aus privaten Gründen tun und private Bilder speichern müssen, sind die meisten von ihnen sehr kostengünstig. Ich meine, die Kosten
‫für die Speicherung Ihrer Bilder sind sehr niedrig.
‫Egal, ob Sie einen AWS- oder Quay- oder Docker-Hub oder viele andere Optionen verwenden, ich würde
‫sagen, probieren Sie diese zuerst aus und verwenden Sie Ihre eigene Registrierung nur, wenn Sie wirklich eine Art von
‫Offline-Anforderung haben, die verfügbar sein muss Ohne das Internet oder wenn es nur eine Sicherheitsbeschränkung gibt,
‫können Sie wirklich keine gehostete Plattform verwenden. Denn es ist wirklich nur eines dieser Dinge, bei denen es sich um ein Hilfsprogramm
‫handelt, und es ist großartig, wenn Sie sich darauf verlassen können, dass jemand anderes das Problem für Sie löst.
‫Ich hoffe, Sie spielen damit herum und haben Spaß.
‫Da Sie diesen Vortrag nicht halten, denken Sie daran, aufzuräumen, damit Sie mit einer neuen Tafel für den
‫nächsten Vortrag beginnen können.