Ein Container-Image ist eine Ansammlung von Schichten, die Folgendes umfassen:
- Basis-Image
- Bibliotheken
- Binärdateien
- Abhängigkeiten
- Konfigurationsdateien
Bei neuen Bildern, die von Grund auf neu erstellt werden, beginnt alles mit der untersten Ebene, dem Basis-Image. Das Basis-Image ist das Basis-Image, mit dem die meisten Container-basierten Entwicklungsworkflows beginnen. Viele Basis-Images bestehen aus einfachen oder minimalen Linux®-Distributionen (wie Debian, Ubuntu, Red Hat® Enterprise Linux (RHEL), Rocky Linux oder Alpine). In den Basis-Images werden die Dateisystemdateien des Containers gespeichert. Der Prozess der Erstellung von Basis-Images (bekannt als „Building“) ermöglicht es Entwicklern, eine standardisierte Umgebung aufzubauen, die benutzerdefinierte Container-Images unterstützt.
Anschließend werden eine Reihe von Dateisystemschichten hinzugefügt und auf dem Basis-Image gestapelt, einschließlich der folgenden:
- Erforderliche Bibliotheken, Standardsammlungen von Algorithmen und Klassenvorlagen, mit denen Programmierer gemeinsame Datenstrukturen (z. B. Listen, Stacks und Warteschlangen) erstellen können
- Notwendige Binärdateien, bei denen es sich um ausführbare Dateien handelt, die für die Implementierung verschiedener Programme und Befehle erforderlich sind. Binärordner sind so konzipiert, dass Benutzer schnellen Zugriff auf benötigte ausführbare Dateien haben.
- Verschiedene Abhängigkeiten, die die Erstellung und den Betrieb von Containern regeln.
- Konfigurationsdateien (Configs), die benötigt werden, um den betreffenden Container auszuführen.
Bei Container-Images, die bereits vorhandene Images einbeziehen, wird das Basis-Image der vorhandenen Images als „Parent Image“ bezeichnet. Wenn ein Image ein reines Original ist, wird gesagt, dass es kein Parent Image hat.