Was ist Docker?: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
=Grundlegendes=
 
=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.  
+
*Eine Freie Software zur Isolierung von Anwendungen mit Hilfe von Containervirtualisierung.
 +
*Es vereinfacht die Bereitstellung von Anwendungen, weil sich Container, die alle nötigen Pakete enthalten, leicht als Dateien transportieren und installieren lassen.
 +
*Container gewährleisten die Trennung und Verwaltung der auf einem Rechner genutzten Ressourcen.
 +
*Das umfasst: Code, Laufzeitmodul, Systemwerkzeuge, Systembibliotheken – alles was auf einem Rechner installiert werden kann.
 +
*Es 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.  
  
 
[[Datei:docker-container-zu-linux-01.png]]
 
[[Datei:docker-container-zu-linux-01.png]]

Version vom 23. März 2022, 16:23 Uhr

Grundlegendes

  • Eine Freie Software zur Isolierung von Anwendungen mit Hilfe von Containervirtualisierung.
  • Es vereinfacht die Bereitstellung von Anwendungen, weil sich Container, die alle nötigen Pakete enthalten, leicht als Dateien transportieren und installieren lassen.
  • Container gewährleisten die Trennung und Verwaltung der auf einem Rechner genutzten Ressourcen.
  • Das umfasst: Code, Laufzeitmodul, Systemwerkzeuge, Systembibliotheken – alles was auf einem Rechner installiert werden kann.
  • Es 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.

Docker-container-zu-linux-01.png

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

Docker-ports.png

Vorgang bei der in Betriebnahme

  • Suchen eines 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

  • Host

Rechner auf dem die Docker Container laufen.

  • 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.

  • Volumen

Daten die man ausserhalb des Container legt und die bei einem Container Update erhalten bleiben sollen.

  • Ports

Schnittstellen zu den Prozessen. Hier gibt es den Port im Container und den auf dem Host. Diese müssen miteinander irgendwie "verbunden" werden.