Linux Server mit Docker konfigurieren – Teil 2
Im zweiten Teil der Linux Server mit Docker konfigurieren zeige ich euch wie man mit docker-compose die Arbeit deutlich vereinfacht. Über ein YAML Skript startet man mit einem Befehl eine ganze Applikation die aus mehreren Containern / Microservices besteht.
Linux Server mit Docker konfigurieren – Teil 2
Im letzten Teil wurde am Linux Server Docker installiert und mit einem Hello World Image auf Funktionalität getestet. Nun installieren wir noch Docker Compose. Mit Docker Compose kann man eine Applikation erstellen die sich aus mehreren Docker Containern zusammensetzt. Jeder Docker Container ist dabei ein Microservice, die Summe dieser die Applikation. Je nachdem wie diese Microservices implementiert sind und wie diese mit den anderen Services kommunizieren lässt sich die Applikation an unterschiedlichen Stellen mehr oder weniger gut skalieren. In den folgenden Artikeln gehe ich darauf ein, worauf man achten muss und was eine gute Microservice-Architektur auszeichnet.
Installation
Den Source Code von Docker Compose findet man auf GitHub. Dort kann man auch die einzelnen Versionen herunterladen. Ich habe die aktuell aktuellste Version (1.26.2) für mein Betriebssystem wie folgt installert:
curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
Am besten du prüfst auf der Projektseite die aktuelle Versionsnummer und ersetzt diese im Kommando. Nachdem noch die Ausführungsrechte gesetzt wurde ist die Installation abgeschlossen.
Test
Hat man alles richtig gemacht, dann gibt der docker-compose Befehl die Hilfe aus:
docker-compose
Sofern das nicht so aussiehst hast du bei der Installation einen Fehler gemacht. In meinem Fall waren das falsche Anführungszeichen bei den uname Kommandos (vergleiche mal den eingebetteten Code mit dem Screenshot!). Falls das nicht klapp ersetzt du die beiden uname Kommandos einfach mit den Infos deines Betriebssystems. Bei mir war das: Linux-x86_64 bei einem Debian x64 System.
Das war es auch schon. docker-compose kann nun eigens erstellte *.yml Skripte ausführen in der wir beliebig viele Docker Images erstellen und deren Konfiguration festlegen. Mit einem einzigen Kommando wird danach unsere Applikation erstellt und gestartet.
Windows – warum Linux?
Die letzten beiden Artikel haben gezeigt wie man einen Linux Server aufsetzt und darauf Docker und Docker-Compose installiert und konfiguriert. Der ein oder andere Windows Nutzer wird sich vermutlich wundern. Unter Windows reicht die Installation von Docker Desktop und man hat sowohl Docker als auch Docker-Compose. Man muss nichts konfigurieren, es läuft einfach. Für die Entwicklung ist das eine tolle Sache, doch wie deployed man die Applikation? Die Container müssen auf einem Webserver oder in der Cloud laufen. Laut meiner Recherche ist der Ansatz eines eigens gewarteten Linux Root- oder Virtual-Servers am günstigsten. Da kann man mit dem erlernten Wissen schon sein Produktionssystem aufsetzen. Sollte man später tatsächlich Geld verdienen und die Vorteile einer endlos skalierenden Cloud-Umgebung brauchen, dann lässt sich das immer noch ändern. Mit den Containern ist man sehr flexibel was die Ausführungsumgebung angeht.
Fazit
Der Linux Server ist für die Entwicklung von Docker Containern und der ersten Microservice Anwendung fertig konfiguriert. Wie du gemerkt hast wurden keine speziellen Programme außer Docker und Docker-Compose installiert. Das hat den Grund, da alles was wir später benötigen als Docker Container installiert und gestartet wird. Sei es nun eine Datenbank, ein Webserver oder eine Entwicklungsumgebung.
Teil 1 | Teil 2