Zum Inhalt springen

Docker/Grundlagen

Aus Foxwiki
Version vom 22. Oktober 2025, 09:15 Uhr von Dirkwagner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Container == ; Was ist ein Container? Ein Container ist ein Sandbox-Prozess, der auf einem Host-Computer ausgeführt wird und von allen anderen auf diesem Host-Computer ausgeführten Prozessen isoliert ist. Diese Isolierung nutzt [https://medium.com/@saschagrunert/demystifying-containers-part-i-kernel-space-2c53d6979504 Kernel-Namespaces und cgroups], Funktionen, die es in Linux schon seit langem gibt. Docker macht diese Funktionen zugänglich und einf…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Container

Was ist ein Container?

Ein Container ist ein Sandbox-Prozess, der auf einem Host-Computer ausgeführt wird und von allen anderen auf diesem Host-Computer ausgeführten Prozessen isoliert ist. Diese Isolierung nutzt Kernel-Namespaces und cgroups, Funktionen, die es in Linux schon seit langem gibt. Docker macht diese Funktionen zugänglich und einfach zu verwenden. Zusammenfassend lässt sich sagen, dass ein Container

  • Er ist eine lauffähige Instanz eines Images. Sie können einen Container über die Docker-API oder die Befehlszeilenschnittstelle erstellen, starten, stoppen, verschieben oder löschen
  • Er kann auf lokalen oder virtuellen Maschinen ausgeführt oder in der Cloud bereitgestellt werden
  • Er ist portabel (und kann auf jedem Betriebssystem ausgeführt werden)
  • Er ist von anderen Containern isoliert und führt seine eigene Software, Binärdateien, Konfigurationen usw. aus

Wenn Sie mit chroot vertraut sind, dann stellen Sie sich einen Container als eine erweiterte Version von chroot vor. Das Dateisystem stammt aus dem Image. Ein Container bietet jedoch zusätzliche Isolierung, die bei der Verwendung von chroot nicht möglich ist

Image

Was ist ein Image?

Ein laufender Container verwendet ein isoliertes Dateisystem. Dieses isolierte Dateisystem wird von einem Image bereitgestellt, und das Image muss alles enthalten, was zur Ausführung einer Anwendung erforderlich ist - alle Abhängigkeiten, Konfigurationen, Skripte, Binärdateien usw. Das Image enthält auch andere Konfigurationen für den Container, z. B. Umgebungsvariablen, einen Standardbefehl zur Ausführung und andere Metadaten