Definition „Container-Abbild“ Was ist ein Container Image?

Autor / Redakteur: chrissikraus / Stephan Augsten

Ein Container Image ist ein relativ isoliertes und unveränderliches Paket aus einer Software und den zur Laufzeit benötigten Werkzeugen und Dateien. Ein Image ist folglich für sich genommen lauffähig und äußerst robust.

Anbieter zum Thema

Per Container-Image wird ein sich geschlossenes, lauffähiges Software-Paket inklusive aller Abhängigkeiten ausgeliefert.
Per Container-Image wird ein sich geschlossenes, lauffähiges Software-Paket inklusive aller Abhängigkeiten ausgeliefert.
(Bild: HesselVisser - Pixabay.com / CC0 )

Ein Container Image enthält eine Software und alle Ressourcen, die diese Software zur Ausführung benötigt. Neben dem zur Laufzeit benötigten Programmcode und Bibliotheken können dies auch weitere Programme sein, auf die zugegriffen werden muss. Somit bildet das Abbild – wobei Abbild eher im Sinne einer fertigen Vorlage zu verstehen ist – eine in sich geschlossene Einheit, die in der Regel plattformunabhängig funktionieren kann.

Container Images werden von verschiedenen Tools wie z. B. Docker verwendet, um Software schnell und unkompliziert für verschiedene Szenarien zur Verfügung zu stellen. Mögliche Anwendungsfälle können zum Beispiel die automatisierte Skalierung in Rechenzentren oder das Bereitstellen portabler Software sein.

Container bieten Isolation

Das besondere an einem Container Image: Es ist zu einem gewissen Grad von seiner Umgebung isoliert. Wie stark diese Isolation ist, hängt von der Technologie ab. In der Regel ist es zum Beispiel möglich, dass das Container Image auf bestimmte Ressourcen aus dem Betriebssystem zugreift.

Es gibt allerdings durchaus auch Szenarien, in denen mehrere Container Images gemeinsame Ressourcen nutzen können. Allgemein gesagt sind die Images aber größtenteils isoliert und werden nicht durch die Gegebenheiten auf dem Zielsystem beeinflusst.

Zum Beispiel könnte es vorkommen, dass die Software im Container eine spezifische Version einer Bibliothek benötigt, während auf dem Zielsystem eine andere Version der Bibliothek vorliegt. Die korrekte Bibliothek kann mit ins Container Image gepackt werden; somit steht zur Laufzeit immer die richtige Version zur Verfügung und die Software kann so funktionieren wie geplant.

Container Images erleichtern die Bereitstellung von Software

Meist wird lediglich ein Betriebssystem und eine Software zum Lesen der Container Images benötigt, um ein Image auszuführen. Die Installation der Software entfällt, stattdessen muss der Nutzer nur das Abbild starten und kann direkt mit der Software arbeiten. Auch die Installation von zusätzlichen Ressourcen entfällt, weil das Container Image bereits alles enthält.

Software-Anbieter können mit dieser Technologie zum Beispiel ein Repository mit Container Images zum Download bereitstellen, aus dem sich Kunden selbstständig bedienen können. Das erleichtert die Auslieferung und Bereitstellung von Software ungemein.

Unveränderlichkeit verringert Wartungsaufwand

Ein Container Image hat in der Regel auch die Eigenschaft, dass es im fertig gepackten Zustand nicht verändert werden kann. Wenn das Container-Abbild also vor der Auslieferung vollständig und richtig gepackt wurde, wird es in der Regel stabil und zuverlässig laufen. Es ist nicht möglich, wichtige Dateien aus Versehen zu löschen, da diese fest ins Container Image integriert sind.

(ID:45502618)