Docker im LXC Container

Docker im LXC Container
Photo by Rubaitul Azad / Unsplash

Docker im Debian 12 LXC Container auf Proxmox VE installieren – So geht’s!

Hey, du willst Docker in einem Debian 12 LXC Container auf deinem Proxmox VE 8.4 Server zum Laufen bringen? Kein Problem! Hier erkläre ich dir Schritt für Schritt, wie du das schnell und ohne Kopfschmerzen umsetzt. Los geht’s!


Warum Docker im LXC Container?

LXC-Container sind leichtgewichtig und verbrauchen kaum Ressourcen – perfekt, um Docker als isolierte Umgebung zu nutzen. Proxmox VE macht die Verwaltung dazu super einfach. Aber aufgepasst: Docker in einem LXC-Container erfordert ein paar Extra-Konfigurationen. Keine Sorge, ich zeige dir, wie’s klappt!


Voraussetzungen

  • Einen laufenden Proxmox VE 8.4 Server (klar, oder?).
  • Einen frischen Debian 12 LXC Container (den erstellen wir jetzt kurz).

Schritt 1: Debian 12 LXC Container anlegen

  1. Container erstellen:
    • Klick in der Proxmox-Weboberfläche auf "Create CT".
    • Wähle ein Template (z. B. Debian 12 Standard).
    • OBSOLET: (Vergiss nicht, den Haken bei "Unprivileged Container" zu entfernen. Docker braucht privileged Rechte?)
    • Unter "Advanced" aktiviere "Nesting" (Options -> Features: nesting=1) und "Keyctl" (wichtig für Docker).

Öffne die Konfigurationsdatei des Containers:

nano /etc/pve/lxc/<Container-ID>.conf

Füge diese Zeile hinzu:

lxc.cgroup2.devices.allow: c 10:237 rwm  

Schritt 2: Debian Container vorbereiten

  1. Starte den Container und melde dich per SSH oder über die Proxmox-Konsole an.

Benötigte Pakete installieren:

apt install -y curl ca-certificates gnupg

Updates ziehen:

apt update && apt upgrade -y

Schritt 3: Docker installieren

  1. Starte den Container und melde dich per SSH oder über die Proxmox-Konsole an. Offizielle Docker Installationsanleitung für Debian 12.

Apt aktualisieren

sudo apt-get update

Voraussetzungen installieren

sudo apt-get install ca-certificates curl gnupg lsb-release

Docker GPG-Key hinzufügen

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Docker-Repository einrichten

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Apt erneut aktualisieren

sudo apt-get update

Docker installieren

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Damit läuft der Docker-Dämon auch einem Neustart

systemctl is-enabled docker && systemctl restart docker
systemctl is-enabled containerd && systemctl restart containerd

Zeigt dir die installierte Version an

docker --version && docker compose version

Schritt 4: ZFS-Speicher?

Zusätzlicher Konfiguration, wenn du ZFS Speicher verwendest:

Wenn dein Proxmox-Server ZFS als Speicher nutzt, musst du fuse-overlayfs installieren, um Docker-Volumes korrekt zu verwalten:

sudo apt-get install fuse-overlayfs
sudo ln -s /usr/bin/fuse-overlayfs /usr/local/bin/fuse-overlayfs

Hinweis: Ohne fuse-overlayfs können Docker-Volumes bei ZFS unnötig groß werden.


Schritt 4: Teste Docker

Zeit für den Beweis, dass alles läuft:

docker run hello-world

Wenn du eine freundliche Nachricht von Docker siehst, hast du alles richtig gemacht! 🎉

Have fun with docker:

docker info
docker images

Troubleshooting

  • Container startet nicht?
    Prüfe, ob beim Container Nesting und Keyctl aktiviert wurde.

Fehler: "Permission denied"?
Füge deinen Benutzer zur Docker-Gruppe hinzu:

usermod -aG docker $USER

Updates

Update jeweils dein Debian 12 inkl. Docker:

apt update && apt dist-upgrade && apt autoremove && apt clean

Fazit

Jetzt hast du einen schlanken Docker-Host in einem Debian 12 LXC Container auf deinem Proxmox-Server! Ob für Entwicklungsprojekte, Home-Lab-Experimente oder Microservices – mit Docker bist du flexibel wie nie.

Pro-Tipp: Sichere regelmäßig deine Container und hab Spaß beim Austüfteln! 🚀


Fragen oder Probleme? Schreib’s in die Kommentare – ich helfe gern! 😊