‫Jetzt starten wir die eigentliche Registrierung. Wir haben eine Weile darüber
‫gesprochen, also lassen Sie uns etwas damit anfangen.
‫Die Registrierung ist eigentlich nur ein HTTPS-Server, über den wir gesprochen haben.
‫Es wird standardmäßig auf Port 5000 ausgeführt.
‫Wir werden es starten und dann ein vorhandenes Image, das wir tatsächlich von Docker Hub
‫erhalten haben, mit einem neuen Tag versehen. Auf diese Weise ändern Sie tatsächlich, wo die
‫Registrierung, die eher verwendet werden soll, vorhandene Bilder neu markiert. Dann werden wir das Image
‫aus unserem lokalen Cache entfernen und es aus der Registrierung
‫entfernen, nachdem wir es dort hochgeschoben haben. Dann stoppen wir die Registrierung und erstellen sie neu, um zu zeigen,
‫wie Sie den Speicher ändern können.
‫In unserem Fall werden wir nur lokalen
‫Speicher verwenden, aber es gibt viele Speicheroptionen, über die wir sprechen werden. Ich möchte eine kurze Notiz
‫zur Registrierung machen und wie sie TLS bevorzugt. Standardmäßig kommuniziert Docker nur mit der
‫Registrierung, wenn die HTTPS-Sicherheit ordnungsgemäß ausgeführt wird.
‫Richtig?
‫Es soll sichergestellt werden, dass Ihre Authentifizierung verschlüsselt ist und dass alles, was weitergegeben wird, als vertrauenswürdig
‫eingestuft wird.
‫Deshalb nennen wir dies standardmäßig "Sicher".
‫Richtig? Sie haben das wahrscheinlich schon einmal gehört. Es wird nicht mit der Registrierung, die wir erstellen
‫werden, kommunizieren, es sei denn, wir erstellen es auf den lokalen Hosts, die wir sind.
‫So werden wir es machen, läuft nur auf unserem lokalen Host.
‫Das ist also einfach.
‫Wir müssen uns eigentlich keine Gedanken über TLS machen, nur um diese Sache sofort zu testen,
‫da die Registrierung wie auf den meisten Websites nicht über TLS verfügt.
‫Sie müssen normalerweise Ihr eigenes Zertifikat erstellen.
‫Wenn Sie jedoch selbstsignierte Zertifikate für Ihre Registrierung erstellen oder diese remote ohne
‫TLS ausführen möchten, empfehle
‫ich Ihnen nicht, aber falls erforderlich, liegt tatsächlich eine unsichere Sicherheitslücke vor. Registrierungsoption,
‫die Sie in der Engine aktivieren müssten.
‫Wir werden das hier nicht behandeln.
‫Aber nur um zu wissen, dass Sie in der Produktion, wenn Sie jemals ein selbstsigniertes Zertifikat
‫erstellen müssen, dies nur aktivieren müssen. Sie erhalten eine gute Fehlermeldung von Docker, die besagt: "Ich kann nicht mit dieser Registrierung sprechen,
‫weil ich ihr nicht vertraue. "Art der Sache,
‫wenn Sie versuchen, das zu tun.
‫Heute werden wir es nur mit normalem HTTP auf Port 5000 ausführen.
‫Kehren Sie zu meinem lokalen Computer zurück, und führen Sie den Docker-Container -d -p 5000 aus. Der Standardwert
‫im Container ist
‫5000, und ich nenne ihn einfach Registrierung. Dann verwenden wir eine Bildregistrierung.
‫Wenn ich einen Docker-Container ls mache, werden Sie sehen, dass er ausgeführt wird. Um es zu benutzen, benutzen
‫wir eigentlich Tags.
‫Wenn Sie sich an unsere Images mit Docker Hub erinnern, mussten wir sie im Format des Kontonamens und des Repository-Namens eingeben,
‫aber das gilt für Docker Hub. Für jede andere Registrierung
‫müssen wir sie auch mit dem Host darin kennzeichnen.
‫Eigentlich ziehe ich etwas namens Hallo-Welt, weil es nett und klein ist. Wenn wir es ausführen, spuckt es nur einen Text
‫aus, der im Grunde bestätigt, dass dieser Container ausgeführt wurde,
‫perfekt für dieses nette kleine Beispiel. Was ich tun muss, um es an meine lokale Registrierung zu senden, ist, dass ich ihm ein weiteres
‫Tag geben muss, das meinem Daemon mitteilt, wohin er es senden muss.
‫Wir verwenden Docker-Tags und dann das Bild, das ich markieren möchte, und dann, wo ich es markieren möchte.
‫Also 127. 0. 0. 1: 5000
‫muss ich den port da
‫rein und dann hallo-welt.
‫Dies wäre das Äquivalent dazu, mein eigenes offizielles Image im Stammverzeichnis meiner lokalen Registrierung zu erstellen.
‫Wenn ich ein Docker-Image mache, siehst du, dass die Hallo-Welt hier zwei Tags hat und es die gleiche Image-ID ist, weil ich ihr nur ein
‫anderes Tag gegeben habe.
‫Wenn ich dann einen Docker-Push durchführe, wird der Push nicht an Docker Hub gesendet, sondern es wird angezeigt, dass dort eine IP-Adresse und ein Port
‫vorhanden sind, und es wird ein Push an meine lokale Registrierung gesendet.
‫Jetzt entfernen wir unsere lokalen Kopien, also Docker-Image entfernen und Docker-Image.
‫OKAY.
‫Oh. Richtig.
‫Das Bild kann nicht entfernt werden, da der Container zuerst entfernt werden muss.
‫Also Docker Container Rm, und das ist der Container, der Hallo-Welt lief, jetzt
‫kann ich das Bild entfernen.
‫Na, bitte.
‫OK, wenn ich jetzt ein Docker-Image mache, bin ich sicher, dass ich es nicht habe, oder? Ich habe dieses Bild nicht.
‫Jetzt kann ich von derselben Position aus einen Docker ziehen.
‫Na, bitte.
‫Ich ziehe das Bild herunter.
‫Das erste, was Sie tun möchten, wenn Sie aus eigenen Gründen Ihre eigene
‫Registrierung ausführen, ist, ein Volume zum Speichern der Daten zu verwenden.
‫In diesem Fall könnten wir die Registrierung löschen und ein Volume verwenden, um dasselbe zu tun.
‫Wenn ich mich in diesem Verzeichnis befände, in dem sich Registry-Beispiel-1 befindet, könnte ich
‫eine Docker-Container-Kill-Registry, eine
‫Docker-Container-RM-Registry, ausführen.
‫Gut.
‫Also haben wir unseren Registrierungscontainer aufgeräumt. Lassen Sie es uns noch einmal machen, Docker-Container laufen lassen und Port 5000,
‫rufen Sie es erneut in der Registrierung auf. Dieses Mal geben wir ihm ein Volume, und wir
‫werden den pwd-Trick verwenden, um unser aktuelles
‫Arbeitsverzeichnis anzugeben, und dann werde ich hier ein Unterverzeichnis mit Registrierungsdaten einfügen. Das muss in die var lib Registry gehen.
‫Der letzte Teil ist, dass wir das Registrierungs-Image verwenden.
‫Dies ist technisch eine neue Registrierung mit einer neuen Datenbank.
‫Wenn Sie die Registrierungsdaten überprüft hätten, gäbe es dort noch nichts, aber wenn ich das Bild, das wir vor einer Weile
‫erstellt haben, wieder nach unten gezogen hätte, werden Sie feststellen, dass die
‫Hallo-Welt immer noch da ist.
‫Wenn ich einen Docker-Push erneut durchführe, sollte er ihn direkt wieder nach oben drücken.
‫Wenn ich nun ein ll und das Registrierungsdatenverzeichnis mache, werden dort einige Informationen angezeigt. Ich habe gerade einen Tree-Befehl ausgeführt, der möglicherweise nicht unter Ihrem Betriebssystem ausgeführt
‫wird, der jedoch
‫nicht ausgeführt werden muss, wenn Sie nicht möchten. Es ist ein weit verbreitetes Linux-Tool, das
‫mir die verschiedenen Pfade aufzeigt. Sie werden sehen, dass es tatsächlich
‫die Daten oder Blobs aufteilt, dh die eigentlichen Binärdateien, die sich im Bild befinden, sowie die
‫Metadaten, die das Manifest und die Tags und dergleichen. Alles befindet sich in ihren eigenen SHA-Verzeichnissen, da
‫hier mehrere Ebenen ausgeführt werden.
‫Es ist nicht besonders nützlich für uns, dort herumzustöbern, aber es ist interessant zu sehen.
‫Hier bitteschön.
‫Dies sind die Grundlagen für das Ausführen einer Registrierung auf Ihrem lokalen Computer.
‫Dann müssen wir es mit etwas TLS sichern und dann etwas Authentifizierung aktivieren.
‫Gut. Das sind die Grundlagen zum Ausführen einer Docker-Registrierung.
‫Hier sind die wichtigsten Befehle, die wir in dieser Vorlesung ausgeführt haben. Vielleicht möchten Sie hier eine Pause einlegen, wenn
‫Sie etwas aufschreiben oder sicherstellen möchten, dass Ihre Angaben korrekt sind.
‫Nachdem Sie mit dieser Vorlesung fertig sind, denken Sie daran, aufzuräumen, damit Sie mit einer neuen Tafel für die
‫nächste Vorlesung beginnen können.