Linux Server mit Docker konfigurieren
In diesem Artikel zeige ich wie man einen Linux Server mit Docker konfigurieren kann. Ich habe mir so meinen Entwicklungsserver erstellt um dort meine Microservice Container zu testen. In den nächsten Wochen und Monaten möchte ich mich intensiver mit dem gerade sehr aktuellen Thema Microservices beschäftigen.
Linux Server mit Docker konfigurieren
Ich möchte Microservices entwickeln. Bevor man aber die erste Zeile Code schreibt muss man sich schon über die Infrastruktur Gedanken machen. Eine neue Software soll in mehreren Microservices implementiert werden und auf einer Plattform laufen. Gleich in der Cloud die ersten Schritte machen ist zwar eine valide Option, jedoch auch teuer. Da ich noch meinen alten Rechner zuhause stehen habe rüste ich diesen nun als Linux Server um. Dieser wird als Entwicklungsplattform dienen auf dem mittels Docker die Microservices als Container laufen. Als Benefit lerne ich neben der Entwicklung von Microservices auf die Infrastruktur zu dessen Hosting kennen, das würde mir bei zum Beispiel Azure erspart bleiben. Ich möchte das aber lernen 😉
Ausgangsbasis
Ich habe mir bereits auf dem Rechner ein aktuelles Debian Linux installiert. Der Rechner steht physisch im Keller, hat keine Peripherie angeschlossen, ich kann mich aber per SSH verbinden. Es handelt sich zwar um einen alten AMD Phenom II, dieser hat jedoch 4 Kerne, 16 GB RAM und um die 700 GB Speicherplatz. Von der Leistung mehr als Ausreichend um eine große Applikation zu hosten. Für einen vergleichbaren Shared Server würde man schon ab 100€ im Monat zahlen. Ich beginne mit dem obligatorischen Update der Paketliste und des Systems:
apt-get update && apt-get upgrade
Docker
Die erstellten Container sollen mit Docker gehostet werden. Damit ist Docker die zentrale Software auf dem System. Bevor ich die Installation starten kann benötige ich aber noch einige Pakete. Erst damit kann man das Docker Repository einbinden:
apt-get install apt-transport-https ca-certificates curl software-properties-common gnupg
Als nächstes füge ich den GPG Schlüssel von Docker meinem System hinzu. Bitte „Debian“ in der URL beachten. Sofern man auf einem anderen Linux Derivat unterwegs ist wäre dort fedora, raspbian, centos, ubuntu oder anderes einzutragen.
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
Als letztes wird nun noch das Repository hinzugefügt:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Nun kann man wie gewohnt über die Paketverwaltung Docker installieren:
apt update apt install docker-ce
Die Installation selbst wird nun einige Zeit in Anspruch nehmen. Mit den ganzen Abhängigkeiten waren bei mir fast 650 MB herunterzuladen.
Erster Test
Ob die Installation erfolgreich war, kann durch einen einfachen „Hello World“ test verifiziert werden. Führt man diesen nun als einfacher Benutzer am System aus bekommt man folgende Fehlermeldung:
docker run hello-world
Got permission denied while trying to connect to the Docker daemon socket
Der Benutzer ist noch nicht in der Gruppe docker, weshalb man diesen erst mit usermod hinzufügen muss. Unter Debian funktioniert das so:
su - usermod -aG docker werner
Als Benutzernamen muss du dann natürlich statt werner deinen eigenen Benutzer eingeben. Probiert man das Hello World noch einmal, dann funktioniert es:
Sofern das bei dir noch nicht klappt, dann einfach einmal aus- und wieder einloggen!
Fazit
Ich habe gezeigt wie ich Docker auf meinem Linux Server installiert habe. Das ist der erste Schritt zum Hosting von Containern. In den weiteren Teilen der Artikelserie zeige ich wie ich erfolgreich meinen eigenen Container erstelle und dort zum Laufen bringe.
Teil 1 | Teil 2