Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Virtualisierung mit Docker

Private Repositories aufbauen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Private Repositories erlauben es, Images in geschlossenen Umgebungen zu sichern und mehreren Docker-Systemen zur Verfügung zu stellen. Lassen Sie sich zeigen, wie Sie solche Repositories einrichten.

Transkript

Im Kontext von selbst entwickelten Anwendungen oder auch lizenzierten Anwendungen kann es durchaus Sinn machen Images nicht öffentlich bereitzustellen. Wie es Ihnen gelingt zukünftig Docker-Images zentral bereitzustellen, allerdings auf selbst gehosteten Maschinen, möchte ich Ihnen nun im Laufe dieses Videos zeigen. Grundsätzlich dafür nötig ist die Bereitstellung einer eigenen On-premise gehosteten Docker-Registry. Eine solche Docker-Registry wiederum kann diverse private Repositories beinhalten. Die Docker-Registry ist eine vom Docker-Projekt bereitgestellte Anwendung, die relativ einfach mit Hilfe von Docker-Containern auch installiert werden kann. Interessant an der Stelle ist, dass es auch möglich ist die Docker-Registry an Cloudspeicher-Systeme wie SWIFT, Azure oder AWS anzubinden. Das bedeutet, wenn immer ein Nutzer ein solches Image mit einem push bereitstellt, wird dieses an einen Cloudspeicher übertragen und lediglich die Docker-Registry, wo auch immer diese gehostet ist, fungiert hier als Proxy. Aus Sicht der Docker-Anwendung ist der Aufruf ein wenig anders als normal. Da es sich nicht mehr um den Docker Hub handelt, muss vor jedes Repository bzw. auch Image der Hostname und der Port der jeweiligen Instanz gestellt werden. An dieser Stelle habe ich hier nun zwei Docker-Hosts. Auf der rechten Seite befindet sich mein Arbeits-Docker-Host. Auf diesem arbeite ich mit meinen Images. Auf der linken Seite befindet sich der Docker-Host, wo zukünftig meine Registry gehostet wird. Auf dem Server, der die Registry hostet, beginne ich also nun. Mit dem Befehl docker run gebe ich hier den Port 5000 frei und binde den internen Port 5000 an die Registry. Es gäbe noch diverse Einstellungsmöglichkeiten diese Registry die nun gestartet wird zu konfigurieren. Beispielsweise könnte ich hier also ein Amazon back-end storage angegeben werden oder alternativ könnten die Daten, die nun in diesem Container laufen auch auf ein externes Volumen gespeichert werden. Um den Fall möglichst simpel zu halten, bestätige ich den ganzen Vorgang mit der Enter-Taste. Da das Image sich bereits auf dieser Instanz befand, wird es nicht mehr zusätzlich heruntergeladen und die Instanz unmittelbar hochgefahren. An der Stelle ist also nun der Port 5000 auf der IP 103 freigegeben für eine Docker-Registry. Als nächstes muss ich sicherstellen, dass meine Boot2Docker-Instanz Zugriff auf solch ein privat gehostetes Repository nehmen kann. Standardmäßig ist Docker so eingestellt, dass die Sicherheitsoperationen paranoid sind. Das bedeutet, ich kann normalerweise nun mir Registry-Endpunkten reden, die SSL verschlüsselt sind. Im Falle der Docker-Registry müsste ich also nun beispielsweise einen Apache- Webserver oder einen Nginx-Server vor den Port 5000 schalten und diesen mit einem Sicherheitszertifikat versehen, welches ich wiederum in der Boot2Docker-Instanz importieren müsste. Alternativ vor allem für den Entwicklungsgebrauch kann ich nun folgendes tun: In der Profile-Datei von der Boot2Docker-Instanz kann ich nun zusätzliche Kommandozeilenargumente angeben, die für den Docker-Daemon beim Hochfahren genutzt werden. Der Befehl EXTRA_ARGS definiert diese Arguments, die dann an den Docker-Daemon angehangen werden. Ich spezifiziere hier zusätzlich den Parameter insecure-registry mit der IP und dem Port, sodass ich ohne weitere Komplikationen meine Docker-Instanz dafür nutzen kann um mit diesem Host zu kommunizieren. Sollte ich diese Änderungen zum ersten Mal machen, es ist notwendig vorher die Instanzen neu zu starten mit dem reboot-Befehl. Wenn ich nun ein bestimmtes Image in die Registry pushen möchte, muss ich zuerst dafür sorgen, dass es entsprechend getagt ist. Dafür zeige ich mir zunächst einmal die Anzahl verfügbarer Images an und entscheide mich nun die Ubuntu-Version auf die Docker-Registry abzulegen. Ich lege also nun einen zusätzlichen tag über das Image ubuntu:latest in der Form der IP, des Ports, einem Slash, dem jeweiligen Repository, wo ich das Ganze platzieren möchte und dem Namen des Images. Ich bestätige das Ganze mit Enter. Sollte ich die Images noch einmal aufrufen, sehe ich, dass es nun zusätzlich diesen Tag für dieses Images gibt. Um das Image nun hochzuladen, nutze ich den docker push-Befehl, das entsprechende Image und bestätige mit Enter. An der Stelle sieht man nun links, dass die Anfragen auftauchen. Auf der rechten Seite sieht man den Übertragungsfortschritt. Ein anderer Boot2Docker-Host könnte nun entsprechend mit dem docker pull-Befehl über genau diese Referenz das Ubuntu Image von der Registry abfragen. Falls man sich nun für weitere Möglichkeiten der Konfiguration der Docker-Registry interessiert, empfiehlt es sich, das GitHug-Projekt Docker-Registry aufzurufen unter der URL github.com/dockers/docker-registry. In der Description unterhalb des Projektes finden sich viele Möglichkeiten, wie die Docker-Registry eingestellt werden kann. Hier ist ein Beispielaufruf, der auf den Abs Red Storage zurückgreifen würde von Amazon. Sollte der von Ihnen präferierte Cloudspeicher nicht unmittelbar hier zur Verfügung stehen, kann unter anderem das Plug-in über die Suche in GitHub gefunden werden. Über Mirroring ist es möglich, ein öffentliches Repository wie das des Docker Hubs anzusprechen bzw. dessen Registry und zentral über einen Docker- Registry-Server zur Verfügung zu stellen. Sie wissen nun also, wie Sie in nur wenigen Schritten zukünftig mit allen Docker-Instanzen Images zentral auf einen Repository und die zugehörige Registry ablegen können.

Virtualisierung mit Docker

Steigen Sie in die Container-Virtualisierung ein und entdecken Sie einfaches Prototyping neuer und unkomplizierte Skalierung bestehender Anwendungen.

3 Std. 36 min (36 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Ihr(e) Trainer:
Erscheinungsdatum:09.02.2015
Aktualisiert am:19.01.2016
Laufzeit:3 Std. 36 min (36 Videos)

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!