Was ist Container-Image?
Schreibgeschützte Vorlage, aus der Container erzeugt werden. Sie legt die Dateien einer Anwendung wie ausführbare Dateien, Bibliotheken und Einstellungen in Schichten übereinander und fügt eine Konfiguration wie den Startbefehl hinzu; einen Betriebssystemkernel enthält sie nicht. Images werden aus einem Dockerfile o. Ä. gebaut und über Registries gespeichert und verteilt. Ein Image wird über Repository-Namen und Tag angegeben (zum Beispiel web:1.4) oder eindeutig über einen aus seinem Inhalt berechneten Digest (sha256:…). Identische Schichten werden von mehreren Images gemeinsam genutzt.
Japanische Bezeichnung: コンテナイメージ
„Container-Image“ kommt in 3 Übungsfragen aus 1 Themen vor, z. B. Grundlagen von Cloud und Containern.
Fachgebiet: Grundlagen von Cloud und Containern
Images klein und sicher halten
Lässt man Compiler und Paketverwaltungswerkzeuge weg, die zur Laufzeit nicht gebraucht werden, wird das Image kleiner, schneller geholt und bietet Schwachstellen weniger Angriffsfläche. Ein typisches Verfahren ist ein Multi-Stage-Build, der eine Build-Stage von einer Laufzeit-Stage trennt. Geheime Werte kommen nicht ins Image, sondern werden beim Start übergeben.
Häufige Fragen
Was ist der Unterschied zwischen einem Image und einem Container?
Ein Image ist eine schreibgeschützte Vorlage, und ein Container ist eine daraus erzeugte laufende (oder angehaltene) Instanz. Aus einem Image lassen sich viele Container erzeugen, und jeder erhält seine eigene beschreibbare Schicht. Das ähnelt dem Verhältnis zwischen einer Programmdatei und einem Prozess.
Liefert der Tag latest immer die neueste Version?
latest ist ein gewöhnlicher Tag ohne besondere Bedeutung. Er ist nur der Standardname, der verwendet wird, wenn kein Tag angegeben ist, und zeigt nur dann auf eine neue Version, wenn jemand ihn umsetzt. Um eine Version festzulegen, gibt man einen konkreten Tag oder einen Digest an.