Linux Administration

Den ersten Linux-Container mit Incus erstellen – Schritt für Schritt zum eigenen System

Nachdem Incus installiert und eingerichtet ist, wird es nun praktisch. In diesem Teil unserer Serie erstellen wir den ersten Linux-Container, verbinden uns mit einer Shell, testen die Netzwerkverbindung und lernen die wichtigsten Befehle zur Verwaltung von Containern kennen. So erhältst du einen schnellen Einstieg in die tägliche Arbeit mit Incus.

4 min Lesezeit
Grafik: Den ersten Linux-Container mit Incus erstellen

Die eigentliche Stärke von Incus zeigt sich im täglichen Einsatz. Mit wenigen Befehlen lassen sich vollständige Linux-Systeme innerhalb weniger Sekunden bereitstellen.

Dabei lädt Incus zunächst ein passendes Image herunter und erstellt daraus einen Container. Anschließend kann dieser wie ein eigenständiger Linux-Server verwaltet werden.

In diesem Artikel verwenden wir Debian 13 als Beispiel. Die Vorgehensweise ist bei anderen Distributionen nahezu identisch.


Was ist ein Image?

Bevor ein Container erstellt werden kann, benötigt Incus ein sogenanntes Image.

Ein Image ist eine vorbereitete Vorlage eines Betriebssystems. Es enthält bereits alle notwendigen Dateien für einen neuen Container.

Man kann sich ein Image wie eine Installations-DVD vorstellen – mit dem Unterschied, dass die Installation innerhalb weniger Sekunden abgeschlossen ist.

Incus stellt zahlreiche Images bereit, darunter:

  • Debian
  • Ubuntu
  • Alpine Linux
  • Fedora
  • Rocky Linux
  • AlmaLinux
  • Arch Linux
  • openSUSE

Beim ersten Einsatz lädt Incus das gewünschte Image automatisch herunter und speichert es lokal zwischen.


Verfügbare Images anzeigen

Alle verfügbaren Images lassen sich durchsuchen.

Alle Distributionen anzeigen:

incus image list images:

Nur Debian-Images anzeigen:

incus image list images: debian

Ubuntu anzeigen:

incus image list images: ubuntu

Die Ausgabe enthält unter anderem:

  • Name
  • Version
  • Architektur
  • Veröffentlichungsdatum

Den ersten Container erstellen

Nun wird der erste Container erstellt.

Für Debian 13 genügt folgender Befehl:

incus launch images:debian/13 mein-erster-container

Incus führt nun automatisch mehrere Schritte aus:

  • Image herunterladen (nur beim ersten Mal)
  • Container erstellen
  • Netzwerk einrichten
  • Storage zuweisen
  • Container starten

Bereits nach wenigen Sekunden steht der Container zur Verfügung.


Laufende Container anzeigen

Mit folgendem Befehl werden alle Container und virtuellen Maschinen angezeigt:

incus list

Beispiel:

+--------------------------+---------+----------------------+-----------+
| NAME                     | STATE   | IPV4                 | TYPE      |
+--------------------------+---------+----------------------+-----------+
| mein-erster-container    | RUNNING | 10.218.174.15 (eth0) | CONTAINER |
+--------------------------+---------+----------------------+-----------+

Hier erkennt man sofort:

  • Name
  • Status
  • IP-Adresse
  • Typ

Informationen zum Container anzeigen

Weitere Details liefert:

incus info mein-erster-container

Angezeigt werden unter anderem:

  • CPU-Auslastung
  • Arbeitsspeicher
  • Netzwerk
  • Speicherplatz
  • Prozesse
  • Uptime

Dieser Befehl ist besonders hilfreich bei der Fehlersuche.


Eine Shell im Container öffnen

Jetzt kann direkt auf den Container zugegriffen werden.

Variante 1:

incus shell mein-erster-container

Alternativ:

incus exec mein-erster-container -- bash

Nun befindet man sich direkt innerhalb des Containers.

Die Eingabeaufforderung könnte beispielsweise so aussehen:

root@mein-erster-container:~#

Von hier aus kann der Container wie ein normaler Debian-Server administriert werden.


Das System im Container aktualisieren

Nach dem ersten Login empfiehlt sich ein Update.

apt update
apt upgrade -y

Da es sich um einen vollständigen Debian-Container handelt, stehen sämtliche bekannten Werkzeuge zur Verfügung.


Netzwerk testen

Zunächst prüfen wir, ob der Container eine IP-Adresse erhalten hat.

ip a

Alternativ:

ip addr

Nun testen wir die Internetverbindung.

ping -c 4 debian.org

Erfolgreiche Antworten zeigen, dass:

  • Netzwerk funktioniert
  • DNS funktioniert
  • Internet erreichbar ist

Dateien zwischen Host und Container kopieren

Incus bietet komfortable Befehle zum Datenaustausch.

Datei zum Container kopieren:

incus file push test.txt mein-erster-container/root/

Datei vom Container herunterladen:

incus file pull mein-erster-container/root/test.txt .

Damit entfällt in vielen Fällen der Einsatz von SCP oder FTP.


Container stoppen

Soll der Container beendet werden:

incus stop mein-erster-container

Anschließend zeigt

incus list

den Status:

STOPPED

Container starten

Ein gestoppter Container lässt sich jederzeit wieder starten.

incus start mein-erster-container

Nach wenigen Sekunden ist das System wieder verfügbar.


Container neu starten

Für Konfigurationsänderungen oder Updates:

incus restart mein-erster-container

Der Neustart dauert meist nur wenige Sekunden.


Container löschen

Wird der Container nicht mehr benötigt, kann er entfernt werden.

incus delete mein-erster-container

Ist der Container noch aktiv:

incus delete mein-erster-container --force

Dabei werden sämtliche Daten des Containers gelöscht.

Soll der Container später erneut verwendet werden, empfiehlt sich vorher ein Snapshot oder Backup.


Mehrere Container erstellen

Incus verwaltet problemlos viele Container gleichzeitig.

Beispiele:

incus launch images:debian/13 webserver
incus launch images:debian/13 datenbank
incus launch images:ubuntu/24.04 testsystem

Mit

incus list

werden alle laufenden Systeme übersichtlich dargestellt.


Typische Fehler

Image wird nicht gefunden

Prüfen:

incus image list images:

Gegebenenfalls wurde der Name oder die Versionsnummer falsch angegeben.


Keine Netzwerkverbindung

Bridge prüfen:

incus network list

Container-IP prüfen:

incus list

DNS testen:

ping debian.org

Container startet nicht

Status anzeigen:

incus info mein-erster-container

Logdateien prüfen:

journalctl -u incus

Nützliche Befehle im Überblick

incus image list images:

Zeigt alle verfügbaren Images an.

incus launch

Erstellt und startet einen neuen Container.

incus list

Zeigt alle Container und virtuellen Maschinen an.

incus info

Liefert detaillierte Informationen zu einem Container.

incus shell

Öffnet eine Shell im Container.

incus exec

Führt einen Befehl innerhalb eines Containers aus.

incus stop

Stoppt einen Container.

incus start

Startet einen Container.

incus restart

Startet einen Container neu.

incus delete

Löscht einen Container.

incus file push

Kopiert Dateien vom Host in einen Container.

incus file pull

Kopiert Dateien vom Container auf den Host.


Mit Incus lässt sich innerhalb weniger Sekunden ein vollständiger Linux-Container erstellen und verwalten. Dank der automatischen Bereitstellung von Images, Netzwerk und Speicher entfällt der aufwendige Installationsprozess klassischer virtueller Maschinen. Bereits mit wenigen Befehlen steht ein einsatzbereites Debian-System zur Verfügung, das sich wie ein eigenständiger Server administrieren lässt.

Im nächsten Teil der Serie beschäftigen wir uns mit der dauerhaften Konfiguration von Containern. Dabei lernst du, wie du CPU- und RAM-Limits setzt, den Autostart aktivierst, Hostnamen anpasst und weitere Ressourcen gezielt verwaltest.