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

Das öffentliche Repository

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Öffentliche Repositories im Zusammenhang mit dem Docker-Hub sind "initialize" und Hauptbezugsquelle sind Images jeder Art. Lernen Sie im Laufe dieses Videos beides kennen.

Transkript

Im Zusammenhang mit der Bereitstellung von Images tauchen viele verwirrende Begriffe auf wie Repository, Registry, Docker Hub, Github und auf Anhieb ist oft nicht klar, welche dieser Teile wofür zuständig ist. Für genau diesen Fall möchte ich Ihnen nun in dem Video zeigen, was sich hinter diesen Begriffen verbirgt. Zunächst einmal beginne ich mit dem Begriff Repository. Wichtig an der Stelle ist, ein Repository ist nichts weiter als eine Sammlung von Images. Die Buildfiles von Docker spielen keine Rolle im Repository. Lediglich die rohen Daten der Images werden dort vorgehalten. Ein solches Repository kann sowohl öffentlich sein, also gehostet bei Docker Hub, oder alternativ auch on premise also auf eigener Hardware gehostet, was mich auch gleich zum Begriff Docker Hub bringt. Der Docker Hub ist die standardmäßig in Docker vorinstallierte Plattform, die Images bereitstellt. Als solcher ist der Docker Hub also eine Station, in der sich ein Repository befindet. Aber noch viel mehr als nur ein Repository, denn der Docker Hub ist zusätzlich auch ein Bildserver. Das bedeutet, wenn man ihn ein Docker-Buildfile zur Verfügung stellt, kann dieser Docker Hub automatisch die Images bauen und bereitstellen, sodass sie nur noch heruntergeladen werden müssen. Im Übrigen ist die Nutzung des Docker Hubs ein völlig kostenloses Angebot. Sollte man Images nicht öffentlich bereit stellen wollen, sondern nur zum privaten Gebrauch, so müssen diese in ein privates Repository übertragen werden und in einem privaten Repository kann man maximal eine Instanz kostenlos nutzen. Auch wenn der Docker Hub der Bildserver für Docker-Buildfiles sein kann, ist das Docker-Buildfile also die Konfiguration der Maschine, im Regelfall einem Git Repository abgelegt. Das ist der Punkt, wo Github ins Spiel kommt, denn dort wird diese Konfiguration abgelegt und versioniert. Docker Hub lädt dann automatisch diese Konfiguration herunter und baut das Image zusammen. Ich befinde mich nun also auf dem Docker Hub und bin mit meinem Konto eingeloggt. Wenn ich nun zukünftig eine Instanz bzw. ein Image sichern möchte, muss ich zunächst einmal ein Repository anlegen. Dies kann entweder ein reguläres Repository sein, in dem ich mein Image via push übetrage oder ein automatisierter Bildprozess, in dem der Docker Hub aus meinem Github Repository automatisch das Docker-Buildfile herunterlädt und baut. Ich wähle an der Stelle das Repository. An der Stelle vergebe ich nun einen Repositorynamen. Der Repositoryname entspricht im Regelfall auch dem Namen der Anwendung. Beispielsweise würde ich eine mysql-Installation hier erstellen wollen, würde ich sie entsprechend mysql taufen. Dadurch dass es an meinen Namespace also meinen Namen gebunden ist, bin ich in der Wahl des Namens völlig frei und bekomme automatisch eine Bestätigung, ob der Name noch frei zu vergeben ist. An der Stelle ist automatisch dieses Repository als öffentlich markiert. Sollte ich nicht wollen, dass das Image, das ich später hochlade sichtbar ist, würde ich hier Private auswählen. Ich bestätige nun mit Add Repository und entsprechend wurde das Repository nun erstellt. Zu jedem späteren Zeitpunkt kann ich mich noch dafür entscheiden, mein Repository trotzdem auf Private zu stellen. Des Weiteren kann ich über Colaborators andere Personen dazu einladen an meinem Repository teilzuhaben und entsprechende neue Änderungen hochzuladen. Da der Docker Hub fest in die Docker-Anwendung verdrahtet ist, brauche ich auch keine besondere Konvention beim Aufruf. Lediglich die Referenz auf meinen Namespace und meine Anwendung reichen aus, um den Docker pull-Befehl zu starten. Respektive würde ich ein Image pushen wollen, wäre die Konvention die Gleiche, nur dass ich vorher auch im Docker-Client eingeloggt sein muss mit meinen Benutzerdaten. Neben der Möglichkeit eigene Repositories zu erstellen, ist der Docker Hub also auch eine Registry bzw. ein Repository, in dem bereits viele Images von anderen Nutzern bereit gestellt worden sind. Sollte ich mich also für eine spezielle Anwendung interessieren, so würde ich lediglich den Namen hier eingeben in die Suche und bekomme entsprechend alle bereits existierenden Images zu diesem Thema. Anhand der Menge der Downloads kann man halbwegs nachvollziehen, wie qualitativ hochwertig ein solches Image ist und wie viele andere Nutzer bereits darauf zurückgegriffen haben. Interessant an der Stelle ist, dass diese Auszeichnung hier dafür steht, dass es sich um offizielles Repository handelt, das heißt, diese mysqul-Installation wird von Machern des mysqul-Projektes gepflegt. Der graue Haken wiederum steht dafür, dass es sich um eine automatisierte Erstellung handelt. Das heißt, hinter diesem Repository liegt ein Github-Account, wo das Docker-Buildfile sich befindet. Da die Nutzung eines solchen Images nicht immer selbstverständlich ist, kann es durchaus Sinn machen, sich die Description eingängig durchzulesen und zu beachten, welche Parametrisierung für den run-Befehl nötig ist. Sollte ich dieses Projekt selbst bauen wollen, kann ich ganz einfach in das Source Repository navigieren und würde entsprechend hier das Docker-Buildfile vorfinden. Je nachdem um welche Version es sich hier beispielsweise handelt, befindet sich dann im Ordner 5.6 das Docker-File und alle nötigen Scripte, die verwendet werden, um diese Instanz bereitzustellen. Möchte ich dieses ähnliche Verfahren mit der Versionierung in Gib nutzen, muss ich mir einen Account bei Github erstellen oder alternativ bei Bitbucket und diesen mit meinem Dockerhub-Nutzer verlinken. Ansonsten ist es noch interessant zu wissen, dass die verschiedenen Tags, die auf einem Image zur Verfügung stehen, auch innerhalb der Seite gelistet sind. Ich könnte nun also beispielsweise eine Installation von mysql 5.5 auswählen oder eine Installation von mysql 5.6. Zu guter Letzt gibt es noch eine Übersichtsseite, auf der man diverse Grundapplikationen, die hier auch offiziell gepflegt sind, wie beispielsweise eine CentOS- Installation oder eine Ubuntu-Intallation, auswählen und würde auch hierfür entsprechende Information bekommen, denn hierbei handelt es sich auch um ein offizielles Repository, das keiner Namenskovention vor der Anwendung folgt. Sie haben nun also einen Überblick über die Möglichkeiten des öffentlichen Repositories, den Docker Hub, bekommen. Außerdem wissen Sie, wie Sie zwischen einem Repository an sich und einem automatischen Bild auf dem Docker Hub unterscheiden können. Weiterhin sind Sie nun in der Lage, zwischen einem privaten und einem öffentlichen Repository auf dem Docker Hub selbst zu unterscheiden.

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...
 

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!