XAMPP hat ausgedient. Mit der heutigen Vielfalt an Entwicklungsumgebungen, Servern, PHP Versionen, Frameworks und Tools kann eine statische Entwicklungsumgebung einfach nicht mehr mithalten. Immer mehr Programmierer setzen bei der täglichen Arbeit auf virtuelle Maschinen in denen sie einen Server replizieren, der dann auch auf dem Produktivsystem zum Einsatz kommt.
Tools die das vereinfachen sind zum Beispiel Vagrant und Docker. Die Einarbeitung in Docker fiel mir gar nicht so einfach weswegen ich in dieser Artikelserie nun eine einfache Schritt für Schritt Anleitung geben möchte, wie wir eine Docker VM zum Entwickeln auf einem Windows Rechner installieren und einrichten. Das lässt sich natürlich sehr simpel auf Macs oder Linux Maschinen übertragen.
Den ersten Teil macht erstmal ein genereller Überblick was Docker eigentlich ist und warum es so bekannt geworden ist.
Inhaltsverzeichnis
Was ist Docker?
Docker gibt uns die Möglichkeit, Anwendungen in sogenannten Containern auszuführen. Diese Container können aufeinander aufbauen und miteinander kommunizieren. Beispiele für diese Anwendungen wären zum Beispiel ein Apache Server oder eine MySQL Datenbank.
Der Unterschied zu normalen virtuellen Maschinen liegt darin, dass nicht jeder Container ein komplettes Betriebssystem – zum Beispiel Ubuntu 14.04 – mitbringen muss sondern nur die wichtigen Daten für die Anwendung enthält. Wollen wir den Webserver vom Datenbankserver trennen müssten wir also zwei komplette virtuelle Maschinen inklusive Betriebssystem starten. In Docker sind das einfach zwei unabhängige Container, die die jeweiligen Server starten.
In der Webentwicklung bringt uns das einen entscheidenden Vorteil: Wir können die Serverumgebung, auf der später unsere Webanwendung laufen wird, genau auf unserem eigenen Rechner nachbilden – egal ob dieser mit Windows, Linux oder OS X läuft. Kompatibilitätsprobleme gehören damit also der Vergangenheit an. Außerdem können wir die Docker Container ganz einfach an Teamkollegen weitergeben, damit alle am selben Strang ziehen und auf derselben Umgebung entwickeln.
Dieses Verteilen der Docker Container findet über das Docker Hub statt. Aus einem fertig konfigurierten Container können wir ganz simpel ein sogenanntes Image – also ein Abbild des Containers – bilden und dieses ins zentrale Docker Hub hochladen. Dort ist es dann entweder privat oder öffentlich für andere Leute zugänglich und diese können es bei sich benutzen.
Verwirrt? Keine Angst, all das machen wir in den Folgeartikeln ganz langsam und Schritt für Schritt.
Einen weiteren großen Vorteil möchte ich aber noch erwähnen. Docker lässt uns nicht nur die Produktivumgebung abbilden, wir können diese bei diversen Cloud-Hosting Anbietern wie beispielsweise Amazon Web Services sogar mit Hilfe unserer Docker Images einrichten. Das bedeutet einfach wir entwickeln unser Docker Image und konfigurieren es genau so wie wir es brauchen und sagen AWS dann So, und jetzt starte bitte einen Server der genau das kann. Das ist auch der eigentliche Grund, warum ich mich selber näher mit dem Thema Docker beschäftigt habe und natürlich gehe ich in dieser Artikelserie auch darauf näher ein.
Docker unter Windows
Die Arbeit mit Docker unter Windows hat ein kleines Problem – nämlich dass es noch keine native Windows Version gibt. Docker läuft also eigentlich nur unter UNIX. Die klugen Programmierer dahinter haben dieses Problem aber ziemlich einfach mit dem Tool boot2docker gelöst. Dahinter verbirgt sich ein winzig kleiner Linux Kernel mit dem ihr eine virtuelle Maschine erzeugt. Innerhalb dieser virtuellen Maschine laufen dann eure Docker Container auch auf Windows.
Der erste Schritt für eine erfolgreiche Installation von Docker ist also, boot2docker inklusive der Abhängigkeiten herunterzuladen und zu installieren. Dabei wird sowohl Docker als auch VirtualBox installiert (welches quasi eine Umgebung für beliebige virtuelle Maschinen darstellt – unter anderem eben auch unsere boot2docker Maschine). Außerdem wird noch GIT installiert, da wir einen SSH Client benötigen um in der virtuellen Maschine zu arbeiten.
Falls ihr Teile dieser Liste schon installiert habt – keine Sorge, das boot2docker Installationstool überspringt diese dann automatisch.
Nach der erfolgreichen Installation ist unser Rechner bereit für die Arbeit mit Docker – leider war das erst der einfache Teil. Im nächsten Artikel lernen wir die Grundlagen zum Umgang mit Docker Containern.
Möchtest du mehr Infos zum Thema Docker, dann folge mir einfach bei Twitter unter @AbHeuteCoden.
10 Kommentare zu “Docker – Teil 1: Was ist Docker?”