Proxmox: LXC Container erstellen und nutzen – Schritt-für-Schritt-Anleitung für Anfänger

Navigation

Nachdem du im vorherigen Artikel Proxmox VE installiert und deine erste virtuelle Maschine erfolgreich eingerichtet hast, bietet Proxmox noch eine weitere spannende Möglichkeit: LXC Container. Diese leistungsstarke und ressourcenschonende Virtualisierungstechnologie ist besonders geeignet für Anwendungsfälle, bei denen du keinen vollständigen virtuellen Server benötigst, aber trotzdem eine isolierte Linux-Umgebung betreiben möchtest.

LXC (Linux Containers) ist eine Container-Technologie, die es dir ermöglicht, mehrere unabhängige Linux-Systeme auf einem einzigen Host zu betreiben. Im Gegensatz zu virtuellen Maschinen benötigen Container keinen eigenen Kernel oder eigenes Betriebssystem – sie teilen sich diese Ressourcen mit dem Host, während sie trotzdem voneinander isoliert sind. Dadurch sind sie leichtgewichtig und bieten dir die Möglichkeit, effizient Dienste wie Webserver, Datenbanken oder Entwicklungsumgebungen einzusetzen.

In diesem Schritt-für-Schritt-Guide tauchen wir in die Welt der LXC Container in Proxmox ein. Du lernst alles, von der Einrichtung eines Containers bis hin zur Verwaltung und Nutzung. Wir erklären dir die Konzepte verständlich und bieten praktische Beispiele, damit du ohne Vorkenntnisse direkt starten kannst. Egal, ob du ein Homelab betreibst oder erste Schritte in Richtung Servervirtualisierung machst – dieser Guide gibt dir die Werkzeuge an die Hand, um LXC Container erfolgreich in deine Proxmox-Umgebung zu integrieren.

Was sind LXC Container?

LXC (Linux Containers) ist eine leichtgewichtige Virtualisierungstechnologie, die dir ermöglicht, isolierte Linux-Umgebungen direkt auf deinem Host-System zu betreiben.

Container nutzen gemeinsam den Kernel des Host-Systems, was sie deutlich ressourcenschonender macht als virtuelle Maschinen. Sie emulieren kein komplettes Betriebssystem, sondern bieten eine eigene, isolierte Laufzeitumgebung, die sich perfekt für Anwendungen eignet, bei denen Performance und Effizienz entscheidend sind.

Container vs. VM:
┌ Container
├─ Teilt Host-Kernel
├─ Minimaler Overhead
├─ Schneller Start (Sekunden)
└─ Geringer Ressourcenverbrauch

┌ Virtuelle Maschine
├─ Eigener virtueller Kernel
├─ Vollständige Isolation
├─ Langsamer Start (Minuten)
└─ Höherer Ressourcenverbrauch

Ein LXC Container verhält sich wie ein kleines Linux-System, in dem du Programme installieren, Dienste starten oder Dateien verwalten kannst – alles in einer isolierten Umgebung.

Diese Technologie ist ideal für:

  • Webserver: Stelle Apache oder Nginx bereit, ohne eine VM betreiben zu müssen.
  • Datenbanken: Nutze MySQL oder PostgreSQL effizient.
  • Entwicklungsumgebungen: Entwickle und teste Software sicher und ressourcenschonend.

Vorteile gegenüber virtuellen Maschinen

LXC Container bieten zahlreiche Vorteile gegenüber klassischen virtuellen Maschinen. Sie sind besonders für Anwendungsfälle geeignet, bei denen Effizienz im Vordergrund steht und keine vollständige Maschinenvirtualisierung erforderlich ist.

a) Geringerer Ressourcenverbrauch

Container benötigen weder einen eigenen Kernel noch ein vollständiges Betriebssystem. Stattdessen teilen sie sich den Kernel des Host-Systems.

Dadurch sind sie wesentlich ressourcenschonender:

  • RAM: Ein Container benötigt oft weniger als 512 MB, während eine VM mindestens 1–2 GB benötigt.
  • Festplattenplatz: Container sind sehr klein (oft unter 1 GB), während eine VM mehrere GB beansprucht.
Ressourcenvergleich:
┌ Container: 128–512 MB RAM und 0,5–2 GB Speicher
└ VM: 1–2 GB RAM und 10–20 GB Speicher
b) Schneller Start

Während eine VM beim Starten einige Minuten benötigen kann, startet ein Container in wenigen Sekunden. Dies ist besonders nützlich, wenn du schnell neue Umgebungen bereitstellen musst oder eine große Anzahl von Containern gleichzeitig betreibst.

c) Höhere Dichte

Auf derselben Hardware kannst du deutlich mehr Container betreiben als virtuelle Maschinen. Dies macht Container ideal für Szenarien, in denen Ressourcen begrenzt sind oder zahlreiche kleine Dienste benötigt werden.

d) Einfachere Verwaltung

Container sind einfacher zu erstellen und zu verwalten als virtuelle Maschinen. Sie erfordern weniger Konfiguration und lassen sich leicht klonen, sichern und wiederherstellen.

e) Effiziente Nutzung von Netzwerkressourcen

Container haben direkten Zugriff auf die Netzwerkressourcen des Hosts und benötigen weniger Overhead für die Verwaltung von Netzwerkverbindungen. Dies macht sie besonders effizient für Anwendungen wie Webserver oder Datenbanken.

f) Ideal für spezialisierte Anwendungen

Container eignen sich hervorragend für Dienste, die eine isolierte Umgebung benötigen, aber keinen eigenen Kernel oder umfassende Virtualisierung erfordern.

Beispiele dafür sind:

  • Webserver (z. B. Apache, Nginx)
  • Datenbanken (z. B. MySQL, PostgreSQL)
  • Entwicklungs- und Testumgebungen

Voraussetzungen

Bevor du mit der Einrichtung von LXC Containern auf deinem Proxmox-Host beginnst, solltest du sicherstellen, dass dein System die notwendigen Voraussetzungen erfüllt. Dieser Abschnitt hilft dir, alles für einen reibungslosen Start vorzubereiten.

a) Proxmox VE installiert

Du solltest eine funktionierende Installation von Proxmox VE haben. Falls du dies noch nicht eingerichtet hast, empfehlen wir dir unseren Proxmox, in dem wir alle Schritte detailliert erklären.

b) Netzwerk-Konfiguration

Container benötigen eine funktionierende Netzwerkverbindung:

  1. DHCP:
    Falls du in deinem Netzwerk einen Router betreibst, der DHCP unterstützt, werden Container in der Regel automatisch eine IP-Adresse zugewiesen. Dies funktioniert für die meisten Heimserver-Szenarien problemlos.
  2. Statische IP-Adressen:
    Falls du Container mit festen IP-Adressen betreiben möchtest, solltest du sicherstellen, dass dein Netzwerk dies unterstützt und du genügend freie IPs hast. Dies ist besonders nützlich für Dienste wie Webserver oder Datenbanken.
c) Speicherplatz

Container benötigen nur wenig Speicherplatz, aber dein Proxmox-Host sollte dennoch über genügend Kapazitäten verfügen:

  • local (lvm):
    Der Standard-Speicherort in Proxmox, auf dem Container ihre Festplatten- oder Speicherdateien ablegen. Stelle sicher, dass auf local (lvm) genügend Platz verfügbar ist.
Beispiel: Für mehrere kleine Container sollten mindestens 10–20 GB freier Speicherplatz vorhanden sein.
d) Internetzugang

Ein funktionierender Internetzugang auf deinem Proxmox-Host ist erforderlich, um Container-Templates herunterzuladen. Ohne Internetzugang kannst du keine neuen Templates hinzufügen.

e) Templates

Container basieren auf vorgefertigten Betriebssystem-Templates. Stelle sicher, dass du mindestens ein Template heruntergeladen hast, bevor du deinen ersten Container erstellst. Wie du Templates herunterlädst, erklären wir im nächsten Abschnitt.

f) Grundlegende Kenntnisse

Während dieser Guide keine tiefen Kenntnisse voraussetzt, sind grundlegende Linux-Konzepte wie Dateisysteme, Netzwerkbegriffe und einfache Befehle hilfreich. Dies erleichtert dir die Container-Verwaltung und die Installation zusätzlicher Software in deinen Containern.

Container-Templates

LXC Container in Proxmox basieren auf vorgefertigten Container-Templates, die Abbilder von Linux-Betriebssystemen enthalten. Diese Templates sind die Grundlage für die Erstellung von Containern und müssen vor der Nutzung heruntergeladen werden. In diesem Abschnitt erklären wir dir, wie du Templates einfach über die Proxmox-Weboberfläche hinzufügst.

a) Zugriff auf die Template-Liste
  1. Melde dich in der Proxmox-Weboberfläche an:
    Öffne deinen Browser und gehe zu https://<proxmox-ip>:8006. Melde dich mit dem Benutzer root und dem von dir gesetzten Passwort an.
  2. Wähle deinen Node aus der Liste auf der linken Seite aus.
    • Klicke auf den Eintrag „local (pve)“ oder einen anderen Speicherort, der für Container genutzt wird.
    • Wähle im rechten Bereich „CT Templates“ aus.
Speicher-Auswahl:
┌ Links: Node > local (pve)
├ Rechts: CT Templates anklicken
└ Bereich: Templates verwalten
b) Template herunterladen
  1. Klicke oben rechts auf „Templates“, um die Liste der verfügbaren Templates zu öffnen.
  2. Du siehst eine Vielzahl an Linux-Distributionen, die für Container verfügbar sind:
    • Debian (z. B. debian-11-standard): Ideal für Serveranwendungen.
    • Ubuntu (z. B. ubuntu-24.04-standard): Flexible Distribution für fast alle Anwendungsfälle.
    • CentOS: Perfekt für Unternehmensanwendungen.
    • Alpine Linux: Ein extrem leichtgewichtiges und ressourcenschonendes System.
  3. Wähle ein Template aus der Liste aus, z. B. debian-11-standard, und klicke auf „Download“.
    Proxmox beginnt mit dem Herunterladen des Templates, und du kannst den Fortschritt verfolgen.

Nach Abschluss des Downloads erscheint das Template in der Liste unter „CT Templates“.

Mehrere Templates herunterladen

Es ist sinnvoll, mehrere Templates herunterzuladen, um flexibel zu bleiben. So kannst du für unterschiedliche Anwendungsfälle passende Container erstellen:

  • Debian 11: Stabil und zuverlässig für Webserver oder Datenbanken.
  • Ubuntu 22.04: Aktuell und weit verbreitet, ideal für Entwickler.
  • Alpine Linux: Perfekt für ressourcensparende Dienste wie Proxyserver.
d) Tipps für die Auswahl von Templates

Bei der Wahl des Templates solltest du folgende Kriterien berücksichtigen:

  • Anwendungsfall: Für einfache Dienste reicht ein leichtgewichtiges System wie Alpine Linux, während Debian oder Ubuntu für komplexere Systeme besser geeignet sind.
  • Kompatibilität: Stelle sicher, dass die gewünschte Software mit dem Betriebssystem des Containers kompatibel ist.

Template-Typen verstehen

Nachdem du die benötigten Templates heruntergeladen hast, ist es wichtig zu verstehen, welche Arten von Templates es gibt und wie diese für unterschiedliche Anwendungsfälle genutzt werden können. Dieser Abschnitt hilft dir, die Unterschiede zu erkennen und die richtige Wahl für deine Container zu treffen.

a) Standard-Templates

Standard-Templates sind vorgefertigte Abbilder von populären Linux-Distributionen wie Debian, Ubuntu, CentOS oder Alpine Linux. Sie enthalten typischerweise eine grundlegende Systeminstallation mit minimalem Softwareumfang, sodass du eine möglichst schlanke Ausgangsbasis für deine Container hast.

  • Vorteile:
    • Minimaler Speicherbedarf.
    • Schnelles Aufsetzen und einfache Konfiguration.
    • Perfekt für allgemeine Anwendungen.
⚠️ Beispiele:
├─ debian-11-standard – Ideal für stabile Serveranwendungen.
├─ ubuntu-22.04-standard – Flexibel und weit verbreitet.
└─ centos-8-standard – Geeignet für Unternehmenssoftware.
b) Minimal-Templates

Minimal-Templates enthalten noch weniger vorinstallierte Software als Standard-Templates. Sie sind für Experten geeignet, die Container genau nach ihren Bedürfnissen anpassen möchten und keine unnötigen Pakete auf ihrem System haben wollen.

  • Vorteile:
    • Extrem schlank und ressourcenschonend.
    • Optimal für erfahrene Nutzer, die alles von Grund auf konfigurieren möchten.
  • Nachteil:
    • Es kann zeitaufwendiger sein, die benötigten Dienste und Pakete manuell zu installieren.
⚠️ Beispiele:
├─ debian-11-minimal – Nur Basisfunktionen; ideal für stark angepasste Anwendungen.
└─ alpine-minimal – Sehr leichtgewichtig für kleine Dienste.
c) Spezial-Templates

Spezial-Templates sind speziell zusammengestellte Abbilder für bestimmte Anwendungsfälle oder vorkonfigurierte Umgebungen. Sie enthalten oft zusätzliche Softwarepakete oder Dienste direkt nach der Installation.

  • Vorteile:
    • Bereitstellung von vorkonfigurierten Diensten.
    • Zeitersparnis bei der Einrichtung.
⚠️ Beispiele:
├─ nginx-template – Ein vorkonfigurierter Webserver mit Nginx.
└─ mysql-template – Datenbankserver direkt einsatzbereit.
d) Wann nutze ich welche Template-Typen?

Standard-Templates:
Wenn du eine stabile Umgebung benötigst und Dienste wie Webserver, Datenbanken oder Entwicklungsumgebungen bereitstellen möchtest.

Minimal-Templates:
Wenn du maximale Kontrolle über deinen Container haben möchtest und die Installation der benötigten Software selbst übernehmen kannst.

Spezial-Templates:
Für schnelle Bereitstellungen bestimmter Dienste oder vorkonfigurierter Umgebungen, ohne dass du viel Zeit mit der Konfiguration verbringen möchtest.

Template-Verwaltung

Nachdem du die ersten Templates heruntergeladen hast, ist es nützlich zu wissen, wie du diese in Proxmox verwalten kannst. Dies betrifft insbesondere das Anzeigen, Löschen und gegebenenfalls das Aktualisieren von Templates. In diesem Abschnitt lernst du, wie du die Übersicht behältst und die Templates effizient verwaltest.

a) Templates anzeigen
  1. Navigiere zu deinem Speicherort:
    Öffne die Proxmox-Weboberfläche und wähle links den passenden Speicherort aus, z. B. „local“ oder „local-lvm“.
  2. CT Templates einsehen:
    Klicke auf den Reiter „CT Templates“ (Container-Templates), um eine Liste aller heruntergeladenen Templates zu sehen.
    • Dir werden alle installierten Templates auf diesem Speicher angezeigt, z. B. debian-11-standard oder ubuntu-22.04-standard.
b) Templates löschen

Wenn ein Template nicht mehr benötigt wird, kannst du es löschen, um Speicherplatz freizugeben:

  1. Wähle in der Liste unter „CT Templates“ das Template aus, das du entfernen willst.
  2. Klicke oben auf „Remove“.
  3. Bestätige die Löschung im erscheinenden Dialog.

Tipp: Lösche nur Templates, die du sicher nicht mehr benötigst, da sie erneut heruntergeladen werden müssen, falls du sie später wieder verwenden möchtest.

c) Templates aktualisieren

Templates können gelegentlich aktualisiert werden, um neue Funktionen oder Sicherheitsupdates der zugrunde liegenden Betriebssysteme zu integrieren. Da die Container-Templates von den offiziellen Repositories der Distributionen stammen, kannst du neuere Versionen ganz einfach herunterladen:

  1. Prüfen, ob eine neuere Version verfügbar ist:
    • Gehe zu „CT Templates“ und klicke auf „Templates“, um erneut die Liste der verfügbaren Templates anzuzeigen.
    • Wenn eine neue Version eines deiner vorhandenen Templates (z. B. debian-12-standard) verfügbar ist, wird sie oben in der Liste angezeigt.
  2. Neues Template herunterladen:
    Lade das neue Template herunter, indem du auf „Download“ klickst.
    • Das alte Template bleibt erhalten, bis du es manuell löschst.
d) Speicherort für Templates ändern

Standardmäßig werden Templates in dem Speicher gespeichert, der bei der Proxmox-Installation definiert wurde (z. B. local). Du kannst jedoch auch einen anderen Speicherort festlegen, falls du beispielsweise mehr Platz auf einem anderen Laufwerk hast:

  1. Gehe zu „Rechenzentrum“ > „Storage“.
  2. Klicke auf „Add“, um einen zusätzlichen Speicherort hinzuzufügen (z. B. NFS oder ein weiteres lokales Laufwerk).
  3. Konfiguriere den neuen Speicherort so, dass er für Container-Templates geeignet ist:
    • Content: Setze ein Häkchen bei „Container Template“.
  4. Speichere die Änderungen.
⚠️ Tipp: Beim nächsten Download kannst du den neuen Speicherort auswählen, um dort Templates zu speichern.

Container konfigurieren

Nachdem du die erforderlichen Templates heruntergeladen und die grundlegenden Voraussetzungen geschaffen hast, ist es an der Zeit, deinen ersten LXC-Container zu konfigurieren. In diesem Abschnitt führen wir dich Schritt für Schritt durch die Container-Erstellung und die wichtigsten Konfigurationseinstellungen.

a) Container erstellen
  1. Starte die Container-Erstellung:
    Es gibt zwei Möglichkeiten, einen neuen Container zu erstellen:
    • Klicke mit der rechten Maustaste auf deinen Node (dein Servername) und wähle „Create CT“ aus.
    • Alternativ kannst du oben rechts auf den blauen Button „Create CT“ klicken.
Container-Erstellung:
┌ Option 1: Rechtsklick auf Node > Create CT
└ Option 2: Blauer Button oben rechts > Create CT
b) Allgemeine Einstellungen

Im ersten Tab General legst du die Basisdaten für deinen Container fest:

  1. Node:
    • Dein Servername (Node) ist vorausgewählt. Nur bei mehreren Nodes musst du auswählen, wo der Container erstellt werden soll.
  2. CT ID:
    • Die Container-ID wird automatisch vorgeschlagen (z. B. 101). Du kannst sie nach Wunsch anpassen, jede ID darf nur einmal vergeben werden.
  3. Hostname:
    • Vergib einen Namen für den Container, z. B. webserver-container.
    • Verwende nur Kleinbuchstaben, Zahlen und Bindestriche (keine Leerzeichen oder Sonderzeichen).
  4. Unprivileged Container:
    • Setze den Haken bei „Unprivileged container“ für mehr Sicherheit (empfohlen für fast alle Anwendungsfälle).
  5. Nesting:
    • Falls du Container innerhalb des Containers (verschachtelt) betreiben willst, aktiviere „Nesting“. Für die meisten Einsteiger-Projekte ist dies nicht nötig.
  6. Resource Pool:
    • Kann meist ignoriert werden, es sei denn, du verwendest in Proxmox mehrere Pools zur Verwaltung von Ressourcen.
  7. Password / Confirm password:
    • Lege ein starkes Passwort für den Standardbenutzer root im Container fest und bestätige es im zweiten Feld.
  8. SSH public key(s):
    • Optional: Füge hier deinen öffentlichen SSH-Schlüssel ein, wenn du per Schlüssel anstatt Passwort auf den Container zugreifen möchtest.
  9. Load SSH Keys:
    • Du kannst öffentliche Schlüssel aus einer Datei (Load SSH Keys) laden, was besonders praktisch für mehrere Schlüssel ist.
Beispiel-Konfiguration:
┌ Node: proxmox-node
├ CT ID: 101
├ Hostname: webserver-container
├ Unprivileged container: aktiviert (empfohlen)
├ Nesting: deaktiviert (Standard)
├ Resource Pool: leer lassen (optional)
├ Password: ********
├ Confirm password: ********
└ SSH public key(s): leer (optional)

Klicke auf „Next“, um mit der Auswahl des Templates fortzufahren.

c) Template auswählen

Im zweiten Tab Template bestimmst du, mit welchem Betriebssystem der Container erstellt wird. Die Templates hast du zuvor (wie in Abschnitt 6 beschrieben) bereits heruntergeladen.

  1. Storage:
    • Wähle den Speicher aus, auf dem deine CT-Templates liegen, z. B. local oder local-lvm.
    • Standardmäßig ist meist der Speicher vorausgewählt, auf dem du die meisten Templates abgelegt hast.
  2. Template:
    • Öffne das Dropdown-Menü und wähle das gewünschte Template, z. B. debian-12-standard oder ubuntu-22.04-standard.
    • Die Liste enthält alle verfügbaren und heruntergeladenen Templates.

Mit „Next“ gelangst du zur Konfiguration der Festplatte.

d) Festplatte konfigurieren

Im dritten Tab Disks legst du fest, auf welchem Speicher dein Container abgelegt wird und wie viel Platz er erhält.

  1. Storage:
    • Wähle aus dem Dropdown-Menü den Speicherort aus, z. B. local-lvm oder local.
    • Stelle sicher, dass dort genug Platz für dein Container-Projekt verfügbar ist.
  2. Disk size (GiB):
    • Gib an, wie viel Speicherplatz dein Container bekommen soll, z. B. 8 oder 10 GiB.
    • Für einfache Anwendungen reicht meist wenig Platz, für Datenbanken oder große Projekte solltest du großzügiger planen.
  3. Advanced (optional):
    • Hier kannst du spezielle Mount-Optionen, ACLs (Zugriffssteuerungslisten) oder „Skip Replication“ einstellen.
    • Für Einsteiger und die ersten Tests sind die Standardoptionen ideal – du kannst alle Haken lassen, wie sie sind.
Beispiel-Konfiguration:
┌ Storage: local-lvm
├ Disk size: 10 GiB
└ Advanced: Standardoptionen belassen

Klicke auf „Next“, um zur CPU-Konfiguration zu gelangen.

e) CPU konfigurieren

Im vierten Tab CPU stellst du ein, wie viel Rechenleistung dein Container nutzen darf. Hier kannst du festlegen, wie viele CPU-Kerne zur Verfügung stehen und wie stark der Container priorisiert wird.

  1. Cores:
    • Gib an, wie viele CPU-Kerne (Cores) dem Container zugewiesen werden sollen, zum Beispiel 1 oder 2.
    • Für die meisten Anwendungen reicht ein Core aus – mehr kannst du für aufwendigere oder mehrere Dienste wählen.
  2. CPU Limit (optional):
    • Hier kannst du einen Prozentwert angeben, um die maximale CPU-Auslastung des Containers zu beschränken (z. B. 2 Kerne, 50% Limit = max. 1 Kern nutzbar).
    • Für den Einstieg kannst du dieses Feld leer lassen, um die Zuweisung nicht künstlich zu begrenzen.
  3. CPU Units:
    • Gibt die Priorität deines Containers im Vergleich zu anderen Containern an. Standardwert ist 1024.
    • Höhere Werte = höhere Priorität, niedrigere Werte = geringere. Für die ersten Schritte kannst du den Standard belassen.
Beispiel-Konfiguration:
┌ Cores: 1
├ CPU Limit: leer (kein Limit)
└ CPU Units: 1024 (Standard)

Klicke auf „Next“, um zur Speicher-Konfiguration (RAM) zu gelangen.

f) RAM konfigurieren

Im fünften Tab Memory legst du fest, wie viel Arbeitsspeicher (RAM) und Swap-Speicher dein Container nutzen darf.

  1. Memory (MiB):
    • Gib an, wie viel RAM dem Container zugewiesen wird, z. B. 512 oder 1024 MiB (Megabyte).
    • Für kleine Dienste genügen meist 256–512 MiB, bei größeren Anwendungen entsprechend mehr.
  2. Swap (MiB):
    • Swap ist Auslagerungsspeicher, der genutzt wird, wenn der zur Verfügung stehende RAM erschöpft ist.
    • Ein typischer Wert ist etwa die Hälfte bis genauso viel wie der zugewiesene RAM (z. B. 256 MiB Swap bei 512 MiB RAM).
    • Wenn du möchtest, kannst du Swap auf 0 setzen, wenn der Container gar keinen Auslagerungsspeicher nutzen soll.
Beispiel-Konfiguration:
┌ Memory (MiB): 512
└ Swap (MiB): 256

Klicke auf „Next“, um zur Netzwerkkonfiguration zu gelangen.

g) Netzwerk konfigurieren

Im sechsten Tab Network stellst du ein, wie dein Container mit dem Netzwerk kommuniziert. Du kannst alles so lassen wie vorgeschlagen, oder individuelle Anpassungen für fortgeschrittene Szenarien vornehmen.

  1. Name:
    • Standardmäßig steht hier eth0. Für die meisten Fälle muss das nicht geändert werden.
  2. MAC Address:
    • Hier wird automatisch eine MAC-Adresse generiert. Du kannst diesen Wert auf „auto“ belassen.
  3. Bridge:
    • Wähle die Netzwerk-Bridge aus, mit der der Container verbunden wird. In der Regel ist das vmbr0, die Standard-Bridge von Proxmox, die mit deinem Heimnetzwerk verbunden ist.
  4. VLAN Tag:
    • Kann leer bleiben, außer du nutzt VLANs im Netzwerk.
  5. Firewall:
    • Der Haken ist standardmäßig gesetzt. Mit der Proxmox-Firewall kannst du Netzwerkzugriffe auf den Container steuern.
  6. Disconnect:
    • Ist kein Haken gesetzt. Lass das so, es sei denn, du möchtest den Netzwerkadapter bei Start trennen.
  7. MTU:
    • Hier steht „Same as bridge“. Das ist perfekt so für Anfänger und Standardnetzwerke.
  8. IPv4:
    • IPv4 Mode: Wähle DHCP, damit der Container automatisch eine IP vom Router/Netzwerk erhält.
      • Alternativ kannst du Static wählen und eine feste IP, Subnetz (CIDR, z. B. 192.168.1.100/24) und Gateway eingeben, wenn du es kontrollierter haben möchtest.
    • IPv4/CIDR: Nur eintragen, wenn du Static auswählst (Beispiel: 192.168.1.100/24).
    • Gateway (IPv4): Dein Standard-Gateway, meist die IP deines Routers (z. B. 192.168.1.1).
  9. IPv6:
    • Für Einsteiger kann diese Einstellung meist auf None bleiben, es sei denn, dein Netzwerk nutzt IPv6 aktiv.
  10. Rate Limit (MB/s):
    • Hier kannst du die maximale Netzwerkgeschwindigkeit für den Container begrenzen. Für die meisten Anwendungen kannst du dieses Feld leer lassen.
Beispiel-Konfiguration:
┌ Name: eth0
├ MAC Address: auto
├ Bridge: vmbr0
├ VLAN Tag: leer
├ Firewall: aktiviert (Standard)
├ Disconnect: leer lassen
├ MTU: Same as bridge
├ IPv4: DHCP (oder Static, wenn du willst)
├ IPv4/CIDR: leer oder z. B. 192.168.1.100/24
├ Gateway (IPv4): leer oder z. B. 192.168.1.1
├ IPv6: None
└ Rate Limit: leer lassen

Klicke auf „Next“, um zur DNS-Konfiguration zu gelangen.

h) DNS konfigurieren

Im siebten Tab DNS legst du die Domain und die DNS-Server für den Container fest.

  1. DNS domain:
    • Optional. Hier kannst du eine lokale oder interne Domain eintragen, z. B. home.lan.
    • Für die meisten Fälle kannst du dieses Feld leer lassen.
  2. DNS servers:
    • Gib hier die IP-Adresse(n) des DNS-Servers ein, die der Container zur Auflösung von Hostnamen verwenden soll.
    • Bewährte Beispiele: die Adresse deines Routers (192.168.1.1) oder öffentliche DNS-Server wie 8.8.8.8 (Google) und 1.1.1.1 (Cloudflare).
    • Mehrere Adressen können durch Leerzeichen getrennt eingetragen werden.

Klicke auf „Next“, um zur Zusammenfassung zu gelangen.

i) Zusammenfassung und Container-Erstellung

Im letzten Tab Summary erhältst du eine Übersicht über alle Einstellungen, die du für deinen neuen Container ausgewählt hast. Hier kannst du noch einmal alles kontrollieren, bevor die eigentliche Erstellung startet.

  1. Überprüfung:
    • Schau dir die Zusammenfassung genau an: Speicherort, Template, Größe der Festplatte, CPU-, RAM- und Netzwerkeinstellungen, DNS usw.
    • Achte besonders auf Tippfehler im Hostnamen, falsche Speicherauswahl oder falsche Netzwerk-Konfiguration.
  2. Container nach Erstellung starten:
    • Unten im Fenster gibt es die Option „Start after created“. Diese ist in der Regel vorausgewählt – dein Container startet dann automatisch nach der erfolgreichen Erstellung.
  3. Erstellen:
    • Wenn alles passt, klicke auf „Finish“.
    • Proxmox legt nun den Container mit deinen Einstellungen an. Du siehst den Fortschritt und Status in einem kleinen Fenster.
  1. Container starten (falls nicht automatisch):
    • Falls du das automatische Starten abgewählt hast, kannst du deinen Container nachträglich im linken Menü auswählen und auf „Start“ klicken.
  2. Zugriff auf die Konsole:
    • Nach dem Starten kannst du auf den Container zugreifen, indem du ihn in der linken Baumansicht auswählst und im Hauptfenster auf „Console“ klickst.
    • Hier kannst du dich jetzt mit dem vergebenen Root-Passwort anmelden und im Container wie in einem normalen Linux-System arbeiten.

Herzlichen Glückwunsch! Du hast deinen ersten LXC-Container erfolgreich erstellt und konfiguriert.

Ressourcen zuweisen

Nachdem dein Container erstellt und gestartet ist, kannst du ihm bei Bedarf weitere Ressourcen zuweisen oder die bestehenden Einstellungen anpassen. Proxmox macht es dir besonders leicht, Ressourcen wie CPU, RAM, Festplattenspeicher oder Netzwerkbandbreite auch nachträglich flexibel zu verwalten.

a) CPU und RAM anpassen
  1. Container auswählen:
    • Klicke im linken Baum auf deinen Container.
  2. Reiter “Resources”:
    • Wechsle oben ins Tab „Resources“ (Ressourcen).
  3. Core und RAM anpassen:
    • Klicke auf den jeweiligen Eintrag („Memory“, „Core“) und wähle „Edit“.
    • Jetzt kannst du die Zahl der Cores, das CPU Limit, die CPU Units und den Arbeitsspeicher (Memory) beliebig erhöhen oder verringern.
    • Die Änderung wird nach Speichern sofort aktiv (ein Neustart des Containers ist in der Regel nicht notwendig).
b) Root Disk vergrößern
  1. Root disk auswählen:
    • Im Tab „Resources“ wird die Root disk (z. B. rootfs) angezeigt.
    • Klicke darauf, dann rechts oben auf „Volume Action“ und wähle „Resize“.
  2. Neuen Wert angeben:
    • Gib die gewünschte neue Größe in GiB an (nur größer möglich, z. B. von 10 auf 15 GiB).
    • Achtung: Das Verkleinern ist auf direktem Wege nicht möglich!
c) Mount Points oder Passthrough-Geräte hinzufügen
  • Über „Add“ im Reiter „Resources“ kannst du:
    • Einen zusätzlichen Mount Point hinzufügen (praktisch, wenn du weitere Speicherbereiche einbinden möchtest).
    • Device Passthrough hinzufügen, falls spezielle Hardware direkt an den Container durchgereicht werden soll (z. B. USB-Geräte).
d) Netzwerk anpassen oder erweitern
  1. Wechsle zum Tab „Network“:
    • „Network“ ist ein eigener Reiter im Container-Menü.
  2. Bestehendes Netzwerk bearbeiten:
    • Wähle den vorhandenen Adapter aus und klicke auf „Edit“.
    • Hier kannst du alle Einstellungen wie bei der Containereinrichtung anpassen (Bridge, VLAN, IPv4/IPv6, Rate Limit usw.).
  3. Weiteren Netzwerkadapter hinzufügen:
    • Klicke unten im Tab „Network“ auf „Add“, um einen zusätzlichen Netzwerkadapter zu konfigurieren.
⚠️ Tipp: Alle Anpassungen wirken sich sofort aus. Proxmox gleicht die Ressourcen dynamisch an – du kannst also jederzeit flexibel auf neue Anforderungen reagieren.

Container verwalten

Nachdem dein Container eingerichtet ist, geht es nun um die grundlegende Bedienung im Alltag: Wie startest und stoppst du ihn? Wie kannst du darauf zugreifen und Software installieren? Hier findest du die wichtigsten Einstiegsschritte:

a) Starten und Stoppen

Du kannst Container in Proxmox ganz einfach auf zwei Arten starten, stoppen oder neu starten.

  1. Kontextmenü (rechte Maustaste):
    • Klicke im linken Baum mit der rechten Maustaste auf deinen Container.
    • Wähle eine Aktion aus:
      • Start – Container einschalten
      • Shutdown – Geordnet herunterfahren
      • Stop – Sofort anhalten
      • Reboot – Neustart
      • Pause – Container pausieren
      • Clone, Convert to template, >_ Console – Weitere Optionen
  2. Schaltflächen im Hauptfenster:
    • Wähle den Container mit einem Linksklick im Baum aus.
    • Klicke oben rechts auf den grünen „Start“-Button.
    • Direkt daneben findest du ein Dropdown-Menü.
      • In diesem Menü kannst du folgende Aktionen auswählen:
        • Shutdown
        • Pause
        • Hibernate
        • Stop
        • Reset
Container-Start:
┌ Rechtsklick auf Container
│ ├ Start
│ ├ Shutdown
│ ├ Stop
│ ├ Reboot
│ ├ Pause
│ └ Weitere Optionen
└ Oder: Start-Button oben rechts & Dropdown-Menü mit
├ Shutdown
├ Pause
├ Hibernate
├ Stop
└ Reset

So behältst du jederzeit die volle Kontrolle über den Betriebszustand deiner Container.

b) Konsole & Zugriff

Sobald dein Container läuft, hast du mehrere Möglichkeiten, direkt darauf zuzugreifen und ihn zu verwalten:

  1. Web-Konsole über die Proxmox-Oberfläche:
    • Wähle im linken Baum deinen Container aus.
    • Klicke oben auf den Reiter „Console“.
    • Es öffnet sich ein Terminal-Fenster direkt im Browser.
    • Melde dich mit dem beim Erstellen des Containers festgelegten Root-Passwort an.
    • Jetzt kannst du wie in einer normalen Linux-Shell arbeiten.
  2. Schnellzugriff über das Kontextmenü:
    • Klicke mit der rechten Maustaste auf den Container.
    • Wähle >_ Console aus dem Menü, um direkt zur Terminal-Oberfläche zu gelangen.
  3. SSH-Zugriff vom eigenen Rechner:
    • Um per SSH auf den Container zuzugreifen, benötigst du die IP-Adresse des Containers.
    • Diese wird in Proxmox meistens nicht automatisch angezeigt.
    • Melde dich zuerst in der Web-Konsole des Containers an (siehe oben).
    • Dort gibst du den Befehl ein:
Bash
ip a

oder

Bash
ip addr
  • Notiere die angezeigte IP-Adresse für das Netzwerkinterface (in der Regel eth0).
  • Nun kannst du von deinem Rechner aus über das Terminal eine Verbindung herstellen:
Bash
ssh root@<deine-container-ip>

Voraussetzung: Beim Einrichten des Containers wurde ein Root-Passwort oder ein SSH-Key hinterlegt.

⚠️ Tipp: Mit der Web-Konsole im Proxmox-Interface kommst du immer auf deinen Container – selbst, wenn noch keine Netzwerkverbindung besteht. SSH ist besonders praktisch, wenn du regelmäßig entfernten Zugriff benötigst.
c) Software installieren

Ein großer Vorteil von LXC-Containern ist, dass sie sich wie vollwertige Linux-Systeme anfühlen und du darin ganz normal Software installieren kannst – genauso wie in einer echten VM oder auf einem physischen Server.

So gehst du vor:

  1. Über die Web-Konsole oder per SSH einloggen:
    • Öffne die Web-Konsole im Proxmox-Interface oder verbinde dich per SSH mit deinem Container.
  2. System aktualisieren:
    • Es empfiehlt sich, das Betriebssystem direkt nach der Einrichtung zu aktualisieren.
      Beispiel für ein Debian- oder Ubuntu-Template:
Bash
apt update apt upgrade -y

Software installieren:

  • Du kannst beliebige Programme installieren, ganz wie in einem normalen Linux-System.
  • Hier ein paar Beispiele:
Bash
# Webserver

apt install apache2 -y

# Datenbankserver

apt install mariadb-server -y

# Python

apt install python3 -y

# Texteditor

apt install nano -y

Dienste starten und testen:

  • Installierte Server und Programme, wie z.B. Apache, können über die gewohnte Systemd-Steuerung bedient werden:
Bash
systemctl status apache2 systemctl restart apache2
⚠️ Hinweis: Alle Software-Pakete, die für die verwendete Distribution verfügbar sind, lassen sich im Container installieren und nutzen – klassisches Linux-Feeling, aber ressourcenschonend!
d) Container herunterfahren oder löschen

Manchmal ist es notwendig, einen Container ordentlich herunterzufahren, neu zu starten oder komplett zu entfernen. Hier erfährst du, wie das einfach und sicher funktioniert:

Container herunterfahren:

  • Wähle im linken Baum den gewünschten Container aus.
  • Klicke oben auf das Dropdown-Menü neben dem „Start“-Button und wähle „Shutdown“.
    (Alternativ: Rechtsklick auf den Container → „Shutdown“)
  • Dies fährt den Container sicher herunter, ähnlich wie bei einem normalen Server.

Container neu starten:

  • Über das gleiche Dropdown-Menü oder das Kontextmenü per Rechtsklick kannst du „Reboot“ wählen, um den Container direkt neu zu starten.

Container löschen:

  • Stelle sicher, dass du alle wichtigen Daten aus dem Container gesichert hast!
  • Wähle im linken Baum den gewünschten Container aus.
  • Klicke im oberen Bereich des Proxmox-Fensters rechts auf das Dropdown-Menü „More“ (rechts neben den Buttons wie „Console“).
  • Wähle im Dropdown-Menü „Remove“ aus.
    • Hier findest du außerdem Optionen wie CloneConvert to templateManage HA und Remove.
⚠️ Hinweis: Proxmox fragt dich zur Sicherheit, ob du wirklich löschen möchtest. Nach deiner Bestätigung wird der Container inklusive aller Daten entfernt. Das Löschen eines Containers ist nicht rückgängig zu machen – prüfe also sorgfältig, ob du alles gesichert hast, was du noch brauchst.

Fortgeschrittene Funktionen

Nachdem du die Grundlagen zur Container-Verwaltung kennst, möchtest du vielleicht von einigen erweiterten Möglichkeiten profitieren, die Proxmox dir bei LXC-Containern bietet. Hier stellen wir die wichtigsten fortgeschrittenen Funktionen vor – praxisnah und einsteigerfreundlich erklärt.

a) Privilegierter vs. unprivilegierter Container
  • Unprivilegierte Container:
    • Werden standardmäßig empfohlen und sind sicherer, da sie weniger Rechte auf dem Host besitzen.
    • Viele typische Dienste laufen darin ohne Einschränkungen.
    • Besonders geeignet für Webserver, Datenbanken, Entwicklungs- und Testumgebungen.
  • Privilegierte Container:
    • Haben mehr Rechte und eignen sich für besondere Szenarien, z. B. wenn spezielle Systemfunktionen oder Software benötigt werden.
    • Vorsicht: Sie sind weniger sicher und sollten nur mit Bedacht verwendet werden!
    • Die Einstellung wird beim Erstellen des Containers getroffen und lässt sich nachträglich nicht einfach ändern (eine Neuinstallation ist nötig).
b) Bind Mounts einrichten

Mit Bind Mounts kannst du Ordner vom Proxmox-Host direkt in den Container einbinden – ideal, um Daten zu teilen:

  1. Mount Point hinzufügen:
    • Wähle deinen Container, gehe zum Tab „Resources“.
    • Klicke auf „Add“ > „Mount Point“.
    • Gib den Pfad auf dem Host (z. B. /mnt/daten) und den Pfad im Container (z. B. /mnt/hostdaten) an.
    • Speicher die Änderung und starte den Container ggf. neu.
⚠️ Tipp: Bind Mounts sind sehr praktisch für Backup-Verzeichnisse, Mediendaten oder den Austausch großer Dateien zwischen mehreren Containern.
c) Weitere praktische Funktionen
  • Clone: Erstelle eine exakte Kopie eines bestehenden Containers – ideal für Tests, Backups oder ähnliche Setups.
  • Convert to template: Verwandle einen bestehenden Container in ein Template, um daraus schnell neue, identische Container zu erstellen.

Glossar der Fachbegriffe (LXC und Proxmox)

BegriffErklärung
NodePhysischer Server/Host innerhalb deiner Proxmox-Umgebung, auf dem Container und VMs laufen.
Bridge (z. B. vmbr0)Virtuelle Netzwerkschnittstelle, verbindet Container/VMs mit dem Netzwerk.
LXCLeichtgewichtige Linux-Virtualisierung mit gemeinsam genutztem Kernel.
CT (Container Template)Vorgefertigtes Betriebssystem-Abbild für die schnelle Containereinrichtung.
TemplateSiehe CT (Container Template).
CT IDEindeutige Identifikationsnummer eines Containers.
StorageSpeicherbereich auf deinem Host für Container, Images, Backups usw.
Mount PointHost-Verzeichnis, das im Container eingebunden wird (z. B. für Daten oder Backups).
RootfsDas Haupt-Dateisystem eines Containers, enthält Programme & Daten.
Privilegierter ContainerContainer mit vollen Rechten, für Spezialfälle – weniger sicher.
Unprivilegierter ContainerContainer mit eingeschränkten Rechten – Standard und sicherer.
Web-KonsoleTerminalfenster im Browser, direkt über die Proxmox-Oberfläche erreichbar.
SSHVerschlüsselter Fernzugriff zur Kommandozeile eines Containers.
Volume ActionProxmox-Menü für Speicheraktionen wie Resize, Move oder Reassign Owner.
Resource PoolGruppe von Containern/VMs/Speicher zum gemeinsamen Verwalten (optional).
SnapshotMomentaufnahme des Container-Zustands zur späteren Wiederherstellung.
Reboot / Shutdown / StopVerschiedene Wege, den Container neu zu starten, geordnet herunterzufahren oder sofort zu beenden.
DHCPAutomatische Vergabe von IP-Adressen im Netzwerk.
NestingOption, um Container-Virtualisierung im Container zu erlauben („Container-in-Container“).

Wichtige Ressourcen

Damit du noch tiefer in das Thema einsteigen, Fragen klären oder dich mit der Community vernetzen kannst, findest du hier einige besonders nützliche Links:

Fazit

Mit LXC-Containern bietet dir Proxmox eine enorm leistungsfähige und gleichzeitig ressourcenschonende Möglichkeit, verschiedene Linux-Dienste auf deinem Server zu betreiben. Die Erstellung und Verwaltung ist dank der übersichtlichen Proxmox-Oberfläche auch für Einsteiger einfach zu meistern. Egal, ob für Webserver, Datenbanken, Entwicklungsumgebungen oder kleine private Dienste: LXC-Container erlauben dir maximale Flexibilität mit minimalem Overhead.

Falls du neugierig geworden bist: Probiere die nächsten Schritte aus, experimentiere mit neuen Templates und entdecke, wie leicht sich dein Home- oder Test-Lab mit Proxmox erweitern lässt. Mit den verlinkten Ressourcen findest du schnell weiterführende Hilfe und Antworten auf Spezialfragen.

Viel Spaß beim Virtualisieren – und gutes Gelingen mit deinen ersten LXC-Containern auf Proxmox!

⚠️ Hilfe benötigt?

Falls die Verwaltung oder Einrichtung von Proxmox LXC-Containern zu viel Zeit in Anspruch nimmt oder du irgendwo hängst, unterstütze ich dich gern. Als erfahrener IT-Freelancer helfe ich dir – egal ob bei der ersten Inbetriebnahme, Migration, Optimierung oder bei individuellen Fragen rund um Proxmox & Linux.

📧 Kontaktiere mich direkt auf 🌐 palencsar.pro und erfahre mehr über meine Dienstleistungen!

Kommentar verfassen