Jeder Container und jede virtuelle Maschine in Incus basiert auf einem Image. Dabei handelt es sich um eine vorbereitete Vorlage eines Betriebssystems, die alle notwendigen Dateien für die Erstellung eines neuen Systems enthält.
Anstatt jedes Mal ein Betriebssystem neu zu installieren, erstellt Incus aus einem Image innerhalb weniger Sekunden einen vollständig einsatzbereiten Container oder eine virtuelle Maschine.
Neben den offiziellen Images kannst du auch eigene Vorlagen erstellen und verwalten. Das spart Zeit und sorgt für einheitliche Konfigurationen.
Was ist ein Image?
Ein Image ist eine Vorlage eines Betriebssystems.
Es enthält unter anderem:
- Betriebssystemdateien
- Standardkonfiguration
- Systembibliotheken
- Paketquellen
- Bootinformationen (bei virtuellen Maschinen)
Ein Image ist unveränderlich. Änderungen innerhalb eines Containers wirken sich daher niemals auf das ursprüngliche Image aus.
Neue Container entstehen durch eine Kopie des Images.
Offizielle Image-Server
Incus greift standardmäßig auf öffentliche Image-Server zurück.
Dort stehen zahlreiche Distributionen bereit.
Beispielsweise:
- Debian
- Ubuntu
- Alpine Linux
- Fedora
- Rocky Linux
- AlmaLinux
- Arch Linux
- openSUSE
Beim ersten Start eines Containers wird das benötigte Image automatisch heruntergeladen.
Anschließend verbleibt es im lokalen Cache.
Verfügbare Images suchen
Alle Images anzeigen:
incus image list images:
Nur Debian:
incus image list images: debian
Ubuntu:
incus image list images: ubuntu
Alpine Linux:
incus image list images: alpine
Die Ausgabe enthält unter anderem:
- Distribution
- Version
- Architektur
- Veröffentlichungsdatum
- Beschreibung
Images lokal anzeigen
Alle bereits heruntergeladenen Images anzeigen:
incus image list
Beispiel:
+--------------+--------+-------------+--------------+ | ALIAS | FINGERPRINT | SIZE | ARCHITECTURE | +--------------+--------+-------------+--------------+
Diese Images können jederzeit erneut verwendet werden.
Einen Container aus einem Image erstellen
Ein Debian-13-Container:
incus launch images:debian/13 webserver
Eine Ubuntu-VM:
incus launch images:ubuntu/24.04 test-vm --vm
Beim ersten Aufruf lädt Incus das Image automatisch herunter.
Weitere Container werden anschließend deutlich schneller erstellt.
Eigene Images erstellen
Ein großer Vorteil von Incus ist die Möglichkeit, eigene Images zu erzeugen.
Beispielsweise:
- Debian mit Apache
- Webserver inklusive PHP
- Datenbankserver
- Entwicklungsumgebung
- Firmenstandard
Zunächst wird der gewünschte Container eingerichtet.
Anschließend entsteht daraus ein Image.
incus publish webserver --alias apache-template
Jetzt kann dieses Image jederzeit verwendet werden.
incus launch apache-template neuer-webserver
Alle Konfigurationen bleiben dabei erhalten.
Image-Eigenschaften anzeigen
Details eines Images:
incus image info apache-template
Hier werden beispielsweise angezeigt:
- Fingerprint
- Größe
- Architektur
- Erstellungsdatum
- Eigenschaften
- Aliase
Images exportieren
Eigene Images lassen sich sichern oder auf andere Server übertragen.
incus image export apache-template .
Dabei entstehen die entsprechenden Image-Dateien im aktuellen Verzeichnis.
Diese können anschließend archiviert oder auf einen anderen Incus-Server kopiert werden.
Images importieren
Ein exportiertes Image kann jederzeit wieder importiert werden.
incus image import metadata.tar.xz rootfs.squashfs --alias apache-template
Danach steht das Image sofort zur Verfügung.
Images löschen
Nicht mehr benötigte Images sollten regelmäßig entfernt werden.
Alle Images anzeigen:
incus image list
Löschen:
incus image delete apache-template
Dadurch wird lediglich das Image entfernt.
Bereits erstellte Container bleiben davon unberührt.
Images aktualisieren
Offizielle Images werden regelmäßig aktualisiert.
Um die neuesten Versionen zu verwenden, genügt es meist, neue Container aus den aktuellen Images zu erstellen.
Bereits laufende Container werden dadurch nicht automatisch aktualisiert.
Innerhalb des Containers erfolgt das Update wie gewohnt.
Debian:
apt update apt upgrade -y
Ubuntu:
apt update apt full-upgrade -y
Image-Server hinzufügen
Neben den offiziellen Image-Servern können weitere Quellen eingebunden werden.
Remote-Server anzeigen:
incus remote list
Neuen Image-Server hinzufügen:
incus remote add meinserver https://meinserver.example
Danach können Images direkt von diesem Server verwendet werden.
Image-Aliase
Fingerprints sind lang und unhandlich.
Deshalb verwendet Incus sogenannte Aliase.
Beispiel:
apache-template
statt
dcd42fa6c7f8b4d3...
Aliase erleichtern die tägliche Arbeit erheblich.
Image-Cache
Einmal heruntergeladene Images verbleiben zunächst im lokalen Cache.
Dadurch müssen sie beim nächsten Container nicht erneut geladen werden.
Dies spart:
- Zeit
- Bandbreite
- Speicherzugriffe
Nicht mehr benötigte Images können jederzeit gelöscht werden.
Typische Einsatzgebiete eigener Images
Eigene Images sind besonders sinnvoll für:
- Webserver
- Entwicklungsumgebungen
- Datenbankserver
- Monitoring-Systeme
- CI/CD-Systeme
- Schulungsumgebungen
- Homelabs
- Unternehmensstandards
So entstehen reproduzierbare Installationen mit identischer Konfiguration.
Best Practices
Für den produktiven Einsatz haben sich folgende Empfehlungen bewährt:
- Offizielle Images als Grundlage verwenden.
- Eigene Images für Standardkonfigurationen erstellen.
- Images regelmäßig aktualisieren.
- Nicht benötigte Images löschen.
- Aussagekräftige Aliase vergeben.
- Eigene Images versionieren.
- Vor größeren Änderungen neue Images erstellen.
- Exportierte Images zusätzlich sichern.
Häufige Fehler
Image wird nicht gefunden
Prüfen:
incus image list images:
Oft wurde lediglich der Alias falsch geschrieben.
Image zu alt
Ein vorhandenes Image wird nicht automatisch aktualisiert.
Erstelle stattdessen einen neuen Container aus einem aktuellen Image oder aktualisiere das bestehende System innerhalb des Containers.
Zu viele Images
Mit der Zeit sammeln sich zahlreiche nicht mehr benötigte Images an.
Regelmäßig prüfen:
incus image list
und nicht mehr benötigte Images entfernen.
Nützliche Befehle im Überblick
incus image list images:
Zeigt alle verfügbaren Images der verbundenen Image-Server an.
incus image list
Listet alle lokal gespeicherten Images auf.
incus launch
Erstellt einen neuen Container oder eine virtuelle Maschine aus einem Image.
incus publish
Erzeugt aus einem vorhandenen Container ein eigenes Image.
incus image info
Zeigt detaillierte Informationen zu einem Image an.
incus image export
Exportiert ein Image zur Sicherung oder Übertragung.
incus image import
Importiert ein zuvor exportiertes Image.
incus image delete
Entfernt ein nicht mehr benötigtes Image.
incus remote list
Zeigt alle eingebundenen Image-Server an.
incus remote add
Bindet einen weiteren Image-Server ein.
Images sind die Grundlage jeder Incus-Umgebung. Sie ermöglichen die schnelle Bereitstellung neuer Container und virtueller Maschinen und sorgen für reproduzierbare Installationen. Mit eigenen Images lassen sich standardisierte Server innerhalb weniger Sekunden bereitstellen, während Export- und Importfunktionen den Austausch zwischen verschiedenen Incus-Servern erleichtern.
Im nächsten Teil der Serie beschäftigen wir uns mit Snapshots und Backups. Du lernst, wie du Sicherungspunkte erstellst, Container wiederherstellst und zuverlässige Backup-Strategien für produktive Incus-Umgebungen entwickelst.