Was ist Docker?
Grundlegendes
Docker ist eine Containervirtualisierung. Durch Docker können mehrere Prozesse isoliert und damit unabhängig voneinander ausgeführt werden. Dies ermöglicht eine einfaches Aktualisierung des Containers ohne andere Container zu gefährden.
In der idealen Welt läuft in einem Docker Container nur ein Prozess. Wenn ein weitere Prozess benötigt wird, sollte dieser in ein anderen Container ausgelagert werden. Dies wird aber nicht immer eingehalten.
Vorteile
- Skalibarkeit
- Isoliert
- Fertige Systeme
- Gute Updatefähigkeit
Port handling
- Docker
Vorgang bei der in Betriebnahme
- Suchen einen passenden Docker Image
- Dokumentation lesen
- Docker Image runter laden und mit entsprechenden Optionen als Container laufen lassen
Was ist zu beachten?
- Wenn der Container gelöscht oder geupdated wird, gehen die Daten verloren.
- Wichtiger dynamische Daten sollte man ausserhalb des Containers "legen".
- Daten werden auf das Hostssystem gelegt, bei Docker Swarm auf ein NFS Share
- Ports (Schnittstellen) müssen von aussen ereichbar sein.
- Möglichkeit 1: Portforwarding
- Möglichkeit 2: Traefik
Begriffe
- Image
Ein auf einen Verwendungszweck zu geschnittene "Softwarepaket" welches man in der Regel von Docker Hub runter lädt.
- Container
Wenn man ein Image "startet" wirde es zu einem Container. Man kann ein Image auch 2 man "starten" dann werden 2 Container aus dem selben Image. Vergleichbar mit Variable und Instanz der Progammiersprachen.