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.

Microservices mit Spring Boot

Docker-Toolbox installieren und verwenden

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Erfahren Sie in diesem Video, was Docker ist und inwieweit sich Docker von klassischen virtuellen Maschinen unterscheidet. Außerdem lernen Sie, wie Sie Docker unter Windows installieren. Schließlich werden Sie ein kleines Docker-Beispiel ausführen.

Transkript

Nachdem Sie ihre Applikation geschrieben haben, stellen Sie normalerweise fest, dass Sie eigentlich erst die Hälfte des Wegs zurückgelegt haben. Denn die beste Applikation nutzt gar nichts, wenn ich sie nicht in Betrieb setzen kann und das ist die Stelle an der Docker ins Spiel kommt oder an der möglicherweise auch klassisch virtuelle Maschinen mit ins Spiel kommen. Wir werden uns in diesem Video damit auseinandersetzen was Docker ist und inwieweit sich Docker von klassischen, virtuellen Maschinen unterscheidet. Ebenfalls werden wir schauen, was wir benötigen, um Docker unter Windows ans Laufen zu bekommen und wir werden einmal ein kleines "Docker Hello world!"-Beispiel ausführen. Zunächst einmal soll die Frage geklärt werden, was Docker überhaupt ist. Docker ist eine einfache, sehr leichtgewichtige Virtualisierungslösung. Das wird Docker zwar eigentlich nicht ganz gerecht, aber als Startkonstrukt sollte uns das schon mal weiterhelfen. Docker ist deswegen sehr, sehr leichtgewichtig, weil es sich von den klassischen Virtualisierungslösungen fundamental unterscheidet. Eine klassische Virtualisierungslösung wie VMware oder wie VirtualBox oder wie Hyper-V geht normalerweise hin und emuliert einen gesamten Rechner und das Ganze mit mehr oder weniger guter Performance. Das heißt, Sie benötigt letztlich genau auch die Ressourcen nochmal vom Host-System, die der Rechner selber für sich in Anspruch nimmt. Das heißt, wenn der Rechner mit 4 Gigabyte Arbeitsspeicher läuft, dann benötigt die virtuelle Maschine 4 Gigabyte Arbeitsspeicher und die muss der Host bereitstellen zu seinen Prozessen außen rum. Docker geht einen anderen Weg. Ein Docker nutzt eine Funktionalität des Linux Kernels, nämlich die sogenannte Prozessvirtualisierung. Die Prozessvirtualisierung besagt, dass ich im Grunde auf Ebene einzelner Prozesse, eine sehr leichtgewichtige Virtualisierung machen kann. Das heißt, der gesamte Kern des Betriebssystems untendrunter bleibt für alle Prozesse gleich. Der Prozess selber ist aber in der Lage in einer definierten Umgebung zu laufen und diese definierte Umgebung kann ein Dateisystem umfassen und kann Netzwerkschnittstellen umfassen und das reicht in aller Regel aus, um da drin Applikationen gezielt und strukturiert betreiben zu können. Das heißt, das Wesen von Docker ist die Prozessvirtualisierung, statt der kompletten Systemvirtualisierung das macht Docker viel leichtgewichtiger und viel effizienter, als dass es die klassischen Lösungen sind. Um Mal so eine Zahl in den Raum zu stellen: Auf einem normalen Desktopsystem mit 8 bis 16 Gigabyte Arbeitsspeicher können Sie mit ein bisschen Glück zwei bis drei virtuelle Maschinen betreiben. Das ist per se nicht verwerflich, also wenn ich zum Beispiel, auf einer Linux-Maschine bin und ein komplettes Windows betreiben möchte, dann brauche ich eine komplette virtuelle Maschine. Wenn ich aber in dieser virtuellen Maschine bloß eine Applikation betreiben möchte, stelle ich trotzdem 2 bis 3 bis 4 Gigabyte Arbeitsspeicher und weiß ich was, 10 bis 20 Gigabyte Festplattenspeicher zur Verfügung und das alles entfällt bei Docker. Ich kann auf demselben System, auf dem ich 2 bis 3 virtuelle Maschinen betreiben kann, in aller Regel 40, 50, 60 Container betreiben, die letztlich deutlich schneller dann auch noch laufen, als es die Prozesse in der klassischen virtuellen Maschine sind, denn auch die Abstraktionsschicht zum Host untendrunter ist sehr dünn. Das heißt, Docker erlaubt es mir Prozesse mit einer gezielten Umgebung auszustatten und sie damit vom untendrunter liegenden System zu entkoppeln. Auf der anderen Seite nutzt Docker sehr effizient die Ressourcen des untendrunter liegenden Systems. Und das ist super spannend für uns, weil wir jetzt als Applikation, beziehungsweise als diejenigen, die für den Betrieb einer Applikation verantwortlich zeichnen, davon ausgehen können, dass wir der Applikation genau das Umfeld bieten können, was sie braucht und gleichzeitig die Applikation aber auf ganz unterschiedliche Umgebung ausrollen können. Das heißt, wir verbinden das Beste aus beiden Welten. Einerseits eben die klassische virtuelle Maschine, die mir genau das bereitstellt, was wir brauchen und andererseits eben die nicht virtuelle Maschine, die einfach mit maximaler Performance läuft. Damit das Ganze funktioniert, benötige ich natürlich zum einen Docker als solches, zum anderen benötige ich ein Image. Ein Image ist letztlich das Abbild der Umgebung, die die Applikation dann sieht. Da ist auch die Applikation selber schon mit drin und dieses Image muss erzeugt werden. Und dieses Image erzeuge ich dann mit Hilfe eines sogenannten Dockerfiles. Das ist allerdings erst der zweite Schritt. Der allererste besteht normalerweise darin, Docker überhaupt erstmal ans Laufen zu bekommen und genau das werden wir uns jetzt einmal anschauen. Der erste Schritt, um mit Docker zu arbeiten, ist natürlich die Installation von Docker. Das unterscheidet sich je nach Betriebssystem doch deutlich voneinander. Alle Wege und Vorgehensweisen sind allerdings auf der Docker-Homepage entsprechend beschrieben. Da ich hier mit einem Windowssytem arbeite, werde ich mich jetzt hier erstmal mit der Installation von Docker auf einer Windowsplattform auseinandersetzen und da gibt es zwei Möglichkeiten, wie wir das tun können. Das eine ist die Installation von Docker for Windows. Das ist eine sehr neue Lösung. Die basiert auf Hyper-V. Haben Sie kein Hyper-V im Einsatz oder wollen Sie nicht auf Hyper-V umschwenken, dann installieren Sie sich die Docker Toolbox. Das ist die ältere Lösung. Die basiert auf einer VirtualBox. Und genau diese Docker Toolbox werden wir nun einmal installieren für diejenigen, die mit einem Hyper-V-System gesegnet sind. Die Installation von Docker for Windows geht noch um einiges schneller und ist weniger aufwendig, als die der Docker Toolbox. Hintendran, nach der Installation, laufen beide Systeme eigentlich analog. Der erste Schritt, wenn wir dann die Docker Toolbox installieren wollen, ist sie herunterzuladen und wir gehen einfach auf die entsprechende Webseite, landen dann auf der GitHub-Seite von Docker selber und können dann die Docker Toolbox herunterladen. Nach dem Download starten wir einfach das Setup und gehen hier im Grunde durch den Assistenten und er wird uns jetzt hier sagen, was er installieren soll. Es gibt so 1, 2, 3 Sachen, die sind grundsätzlich nicht abwählbar. Sowas wie die VirtualBox, sowas wie der Docker Client selber. Bestimmte andere Sachen, wie Docker Compose, Kitematic, oder Git for Windows kann man installieren, muss man aber nicht. Sie sollten, um letztlich ihre Applikation sinnvoll in Betrieb setzen zu können, in jedem Fall Docker Compose mitinstallieren. Kitematic ist ein grafisches Frontend für Docker und Git können Sie gebrauchen, wenn Sie bestimmte virtuelle Maschinen, beziehungsweise Konfigurationen, herunterladen wollen. Es empfiehlt sich durchaus das mitzuinstallieren. Ich verzichte hier auf die Installation von Kitematic. Da finden Sie im Netz genügend Ressourcen zu, um sich damit mal auseinanderzusetzen. Ich klicke auf "Next" und lasse danach die Installation durchlaufen. Es wird dann ein paar Sekunden dauern, bis die Installation abgeschlossen ist und sobald das geschehen ist, können wir dann mit Docker arbeiten. Wenn die Installation abgeschlossen ist, befinden sich auf ihrem Desktop zwei neue Icons. Einmal ein Icon für die Oracle VirtualBox und einmal das Docker Quickstart Terminal. Docker in der Variante "Docker Toolbox" läuft ja mit Hilfe der Oracle VirtualBox und wenn wir jetzt einmal das Docker Quickstart Terminal öffnen, dann wird beim allerersten Start zunächst einmal eine neue virtuelle Maschine angelegt. Das dauert ein paar Sekunden bis die Inner-VirtualBox erscheint. Nachdem die dann da ist, wird die auch automatisch gestartet und mit allen notwendigen Abhängigkeiten versehen. Auch das dauert ein paar wenige Minuten. Eventuell werden Sie dann gebeten, zwischendurch die ein oder andere Meldung nochmal zu akzeptieren, dass sie Oracle VirtualBox ins Netz gehen darf. Das müssen sie alles nur einmalig machen. Nach ein paar Minuten und vielleicht einer leckeren Tasse Kaffee, ist Docker für Windows dann ultimativ einsatzfähig. Ist dann auch die Konfiguration der virtuellen Maschine erfolgreich abgeschlossen, begrüßt Sie der Docker-Wal und wir können uns ein wenig mit Docker vertraut machen. Das erste Kommando, dass wir kennenlernen sollten ist "docker run". Mit Hilfe von "docker run" kann ich einen Container in Betrieb setzen. Ein Container basiert immer auf einem Image und ich gebe deswegen bei "docker run" immer den Namen des Images an, dass ich als Container benutzen möchte. Dann kann ich sagen, was letztlich auf Ebene des dann laufenden Containers ausgeführt werden soll. In diesem Fall die Echoanweisung und die Echoanweisung nimmt einen Parameter entgegen, den sie einfach wieder zurückgibt. Damit können wir uns vergewissern, dass die Installation erfolgreich war und wir können sicherstellen, dass Docker tatsächlich so läuft und funktioniert, wie wir es erwarten. Im ersten Schritt wird Docker versuchen, das Image aus der lokalen Bibliothek zu öffnen. Dort ist es in meinem Fall noch nicht vorhanden gewesen, deswegen wird es heruntergeladen und dann extrahiert. Nach ein paar Sekunden ist dieses Image dann in Betrieb gesetzt worden als ein Container und im Container ist dann die Echoanweisung ausgeführt worden. Die Rückgabe sehen wir hier. Wenn wir wissen wollen, welche Images wir auf unserem lokalen System haben, dann können wir die Anweisung "Docker Images" verwenden. Und dann sehen wir, wir haben das Image mit dem Namen "Ubuntu" in der letzten Version auf unserem System. Möchten wir wissen, welche Docker Container gerade laufen, dann machen wir das mit Hilfe der "docker ps"-Anweisung und da erhalten wir dann die Auskunft, dass in diesem Fall kein Container läuft. Denn der Container, den wir vorhin in Betrieb gesetzt haben, ist direkt nach dem Ausführen der Anweisung, wieder außer Betrieb genommen worden. Möchte ich einen Container dauerhaft in Betrieb halten, dann verwende ich "docker run" mit dem Parameter "-d" und jetzt gebe ich wieder das Image an, dass hier benutzt werden soll. Jetzt läuft dieser Container basierend auf dem Ubuntu-Image dauerhaft und "docker ps" wird uns die ID des Containers und seinen Namen verraten. Docker gibt dem Container nämlich selbstständig einen Namen, damit ich ihn ein wenig leichter dann managen kann. Und jetzt kann ich einen laufenden Container mit Hilfe von "docker stop" und unter Angabe entweder der ID oder des Namens herunterfahren. Da der Name bei jedem Start neu vergeben wird, wäre es schon sinnvoller selber einen Namen zu vergeben. Das können wir auf Ebene der "docker run"-Anweisung machen. Hier gibt es die Optionen mit "- -name", dem Ganzen einen entsprechenden Namen zu geben, zum Beispiel "container1". Jetzt ist dieser Container basierend auf dem Ubuntu-Image gestartet worden. "docker ps" wird mir sagen, dass er existiert und gibt uns auch ordnungsgemäß den Namen zurück und jetzt kann ich den Container über "docker stop" unter Angabe seines Namens, also container1 dann wieder beenden. Und damit ist dann der gesamte Container auch wieder heruntergefahren worden und Docker ist wieder einsatzbereit für den oder die nächsten Container. Damit haben wir in diesem Video eine Menge schon besprochen. Wir haben kennengelernt, was Docker überhaupt ist. Wir haben Docker installiert und wir haben gelernt, wie wir auf Ebene der Docker-Kommandozeile Images herunterladen und in Form von Containern in Betrieb setzen können. Wir wissen nun, wie wir uns einen Überblick verschaffen können, welche Container aktuell laufen, das ist "docker ps" als Anweisung und welche Images auf unserem System vorhanden sind. Dazu verwenden wir Docker Images und wir wissen, wie wir Docker Container mit Namen versehen, starten und auch wieder beenden können.

Microservices mit Spring Boot

Sehen Sie, wie moderne Applikationen für Cloud-Umgebungen entstehen.

2 Std. 14 min (12 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!