Docker

Docker

Mit Docker erstellen Sie unter Linux virtuelle Systeme für alle Zwecke

Informationen

Zum Virtualisieren – also nutzen von virtuellen Systemen gibt es so einiges an Software wie etwa VirtalBox, doch mit keiner Software ist dies so einfach wie mit Docker. Anders als mit VirtualBox, KVM, VMWare, Paralells und so weiter braucht man auch nur geringe Hardware-Ressourcen so lange man nicht zu viele Instanzen zur selben Zeit laufen lässt, denn statt wie unter anderen Systemen nutzt unter Docker das System den Kernel des real installierten Systems. Auf Grund dessen ist es auch nur möglich unter Linux etwa nur Linux-Systeme laufen zu lassen oder unter Microsoft Windows eben nur Windows.

Docker installieren

Unter auf Debian basierenden Systemen wie Ubuntu, Kubuntu, Linux Mint und so weiter installieren Sie diese Software ganz einfach über die Paket-Verwaltung durch das Paket “docker.io“, unter Solus OS einfach durch das Paket "docker".

Docker nutzen

Unter normalen Umständen nutzt man unter Docker bereits fertig gestellte System-Images, man lädt diese direkt über Docker herunter und startet diese, bearbeitet diese nach seinen Wünschen und lässt sie mit den gewünschten Diensten laufen.

Als erstes geht es darum zu wissen was man eigentlich will, es gibt minimale Systeme wie es auch solche mit bereits fertig installierten und konfigurierten Anwendungen zu finden sind. Welche solcher Systeme es gibt zeigt sich unter Docker-Images.

Nun startet man Docker als Administrator auf dem Terminal und sucht nach einem gewünschten Begriff, etwa nach einer Oracle-Datenbank:

docker search oracle
Docker – professionell virtualisieren unter Linux – Images suchen

Docker – professionell virtualisieren unter Linux – Images suchen

Die Software zeigt nun alle zu diesem gesuchten Begriff passenden Treffer an, erste sehen Sie die Bezeichnung – etwa “oraclelinux“, nun folgt eine kurze Beschreibung wie auch eine Bewertung und ob dieses System von einem auf Docker zertifizierten Entwickler stammt “[OK]“. Was wir zur Installation des Images benötigen ist der Name – also die Bezeichnung die man ganz vorne sieht.

Hat man sein gewünschtes Image gefunden (dies können später auch mehrere sein) lädt man dieses auf sein System herunter, dabei kann es sich um ein beliebiges Linux-System handeln, man kann also etwa auf Debian auch OpenSuSE nutzen – hier geschieht alles als Administrator:

docker pull debian:9

Die Version des Systems gibt man hinter der Bezeichnung getrennt durch einen Doppelpunkt an, tut man dies nicht wird die jeweils aktuelle Version herunter geladen – ein Fortschrittsbalken zeigt den Vorgang an:

Docker – professionell virtualisieren unter Linux – System herunter laden

Docker – professionell virtualisieren unter Linux – System herunter laden

Welche Images man nun auf das System geladen hat zeigt der Befehl:

docker images
Docker – professionell virtualisieren unter Linux – Images anzeigen

Docker – professionell virtualisieren unter Linux – Images anzeigen

Nun wollen wir eine solches Container-System einfach einmal starten:

docker run -i -t debian:9 /bin/bash

Dies bedeutet nichts anderes als das wir das genannte System starten und darin die Bash – also das Terminal:

Docker – professionell virtualisieren unter Linux – Gestarteter Container

Docker – professionell virtualisieren unter Linux – Gestarteter Container

Wir können darin beispielsweise das System aktualisieren und Software installieren wie etwa hier den Dateimanager MC für das Terminal:

Docker – professionell virtualisieren unter Linux

Docker – professionell virtualisieren unter Linux

Welche Container aktuell laufen zeigt Ihnen auf einem weiterem Terminal als Administrator der Befehl:

docker ps -a
Docker – professionell virtualisieren unter Linux – Anzeigen laufender Container

Docker – professionell virtualisieren unter Linux – Anzeigen laufender Container

Hier sieht man auch gleich die ID des Containers ganz zu Beginn (diese sieht man auch in der Bash im laufenden Container) – hier etwa “2094a47da419“.

Ohne die Option “-a” sehen wir auch Container die nicht laufen. Um nun noch einmal zu verdeutlichen – Images sind herunter geladene System-Dateien, mit dem Befehl “run” erstellt man daraus einen Container der gespeichert wird und mit “start” startet man einen gespeicherten Container. Um einen laufenden Container zu beenden / verlassen nutzt man im laufenden Container den Befehl:

exit

Wir merken und diese ID und können diesen automatisch gespeicherten Container nun mit:

docker start 2094a47da419

starten und mit:

docker attach 2094a47da419

in diesen wechseln. Dies dient dazu damit wir nicht immer das Terminal in diesem Container geöffnet haben müssen. Mit dieser ID kann man einen gespeicherten Container wenn gewünscht auch komplett löschen:

docker rm 2094a47da419

Mit ein und dem selben Image kann man beliebig verschiedene Container erstellen.

Als Beispiel habe ich mir nun einen Webserver installiert oder gleich ein Image mit Webserver wie das Image “nginx” herunter geladen, nun möchte ich natürlich auf diesen über den Webbrowser zugreifen. Dazu ist es nun nötig den gewünschten Port – für HTTP also Port “80” auf das real installierte System aufzuschalten, im gleichen Zug gebe ich dem neuen Container gleich einen passenden Namen wie etwa “nginx-server“:

docker run -i -t --name nginx-server -d -p 80:80 nginx

Mit einem Beliebigen Webbrowser kann ich nun auf diesen mit der Adresse “http://localhost” zugreifen:

Docker – professionell virtualisieren unter Linux – In Docker laufender Webserver

Docker – professionell virtualisieren unter Linux – In Docker laufender Webserver

Um nun von einem entfernten Rechner auf diesen Container zugreifen zu können “http://IP-Adresse“. Die Firewall muss natürlich den Port 80 in diesem Fall geöffnet haben.

Um einen laufenden Container zu stoppen ohne in dessen Terminal im Container zu wechseln:

docker stop nginx-server

Oder man gibt eben dessen ID an.