Docker-Server im LXC-Container unter Proxmox installieren

Docker unter Proxmox installieren: Docker-Server Installationsanleitung

In dieser Anleitung installieren wir einen Docker-Host als Container-Plattform unter der Virtualisierungsumgebung Proxmox-VE. Kombiniert sind diese beiden Lösungen ideal dafür geeignet, schnell und zuverlässig Software als Docker-Container oder auf dem Hostsystem als virtuelle Maschine im Netzwerk bereitzustellen. Wir schaffen in diesem Tutorial eine Hybridumgebung, um das Maximum aus deinem Server im Unternehmen oder privat herauszuholen.

Wir verwenden in dieser Anleitung für die Installation von Docker unter Proxmox die neue Distribution Linux Debian 11 (Bullseye). Verwendet wird dabei ein Linux-Container (LXC) auf den wir die Docker-Software installieren werden, um anschließend einen zuverlässigen Docker-Host zu implementieren. Alles, was du für meiner Schritt-für-Schritt-Anleitung benötigst, ist ein Server-Hostsystem mit installiertem Hypervisor Proxmox-VE. 

Empfehlung für Beiträge, die für das hier aufgeführte Tutorial hilfreich sein können:

Proxmox-VE Hypervisor: Eine Anleitung für die Installation und Erstkonfiguration.

Lade das neuste Debian 11 LXC-Template für die Erstellung eines Containers für Docker herunter (Anleitung).

Wichtiger Hinweis: Docker machen, sofern die Container-Software auf einen unprivilegierten LXC-Container installiert wird, seit Linux Debian-11 möglicherweise Probleme. Besuche diesen Beitrag von mir, um mehr über die Lösung des Problems zu erfahren. Aus diesem Grund muss der Docker-Host-Container, wie in diesem Tutorial ersichtlich, auf einen unprivilegierten Container installiert werden. Folge den Screenshots- und Installationshinweisen, damit dir kein Fehler während der Installation von Docker unter Proxmox unterläuft.

Inhaltsverzeichnis: Docker für eine Container-Infrastruktur unter Proxmox installieren (Anleitung)

Vorbereitungen: Container Template für Linux Debian 11 herunterladen:

Rufe über deinen Browser die IP-Adresse deines Proxmox-Servers auf und verwende deine Logindaten, um dich als Administrator am Dashboard (GUI) von Proxmox-VE anzumelden. Navigiere in der linken Navigation auf deinen Storage (local) > Container Templates > Templates und gebe in der Suche die Bezeichnung: „Debian“ ein. 

Beginne jetzt mit dem Download von dem Debian-11-Standard Template (Bullseye) vom Typ „LXC“. Mithilfe des neuen LXC-Templates werden wir den Docker-Server unter Proxmox implementieren. Sobald das Container-Template erfolgreich heruntergeladen wurde, sollte sich die TGZ-Datei unter den Container-Templates zum Auswählen befinden. 

Mithilfe dieser Vorlage werden wir jetzt einen Linux-Container (LXC) für unseren Docker-Host installieren. Die im Artikel hinterlegten Screenshots helfen dir bei der Einrichtung von dem Linux-Container für Docker.

Docker-Server unter Proxmox im Container installieren Anleitung

Schritt 1: Einen Linux-Container mit dem Debian 11 Template für den Docker-Server unter Proxmox erstellen

Navigiere oberhalb der Weboberfläche von Proxmox auf die blaue Schaltfläche „Erstelle CT“, um einen neuen Container für den Docker-Server mit dem Debian-Template zu erstellen.

Proxmox Docker-Server einrichten

Erstelle einen neuen, unprivilegierten Container (der Haken muss gesetzt sein) und vergebe ein Kennwort. Wähle eine beliebige Container-ID oder belasse es bei der freien ID, die Proxmox dir bereits für die Implementierung vorschlägt.

Wähle in dem Abschnitt „Template“ während der Container-Erstellung nun das Debian-11 Template für den neuen LXC-Container aus. Klicke auf die Schaltfläche „Vorwärts“, um zum nächsten Bereich für die Speicherkonfiguration „Root-Disk“ zu gelangen.

Konfiguriere eine beliebige Disk-Größe (angegeben in GiB), die über genügend Speicherplatz für zukünftige Projekte auf deinen Docker-Server verfügt. Das hängt von den persönlichen Plänen und den zu installierenden Anwendungen auf deinem Docker-Host ab. 

Falls du einen Netzwerkspeicher eingebunden hast, ist es auch möglich, den Speicherplatz nicht lokal anzulegen, um beispielsweise Clustering zu ermöglichen. Planst du keine Verwendung eines Clusters, kannst du einfach den lokalen Storage verwenden. Klicke auf Vorwärts, um zu den CPU-Konfigurationen zu gelangen.

Bei der Anzahl der Cores kann eine beliebige Anzahl von Kernen ausgewählt werden, die Docker später deinen Containern zur Verfügung stellen kann. Hier gibt es keinen festen Richtwert, da die benötigte Leistung vom individuellen Einsatzzweck abhängt. Zwei Kerne dürfte jedoch für die meisten Projekte vorerst ausreichend sein. Klicke auf Vorwärts, um zu den Speicherkonfigurationen zu gelangen.

Je nach Einsatzzweck kannst du dem Docker-Server unter Proxmox eine individuelle Größe an Arbeitsspeicher zuweisen. In meinem Beispiel verwende ich 4 GB, da es für die meisten User völlig ausreichend sein dürfte. Klicke auf den „Vorwärts-Button“, um zu den Netzwerkkonfigurationen zu gelangen.

Arbeitsspeicher für den Docker-Container unter Proxmox zuordnen

Innerhalb der Netzwerkeinstellungen kannst du deinen Container bereits eine IP-Adresse und ein Gateway zuordnen. In meinem Beispiel beziehen wir die IP-Adresse für unseren Docker-Server unter Proxmox von einem DHCP-Server. Ich lege die IP-Adresse für den LXC-Container über den Router (DHCP-Server) fest und nicht hier. Klicke auf die Schaltfläche „Vorwärts“, um zum nächsten Schritt zu gelangen.

Weil mein Server von einem DHCP-Server bedient wird, benötige ich keine zusätzlichen DNS-Einstellungen, diese Informationen werden dann automatisch übermittelt. Trage alternativ die Adresse deines DNS-Servers ein.

Die Erstellung eines Containers ist jetzt abgeschlossen. Navigiere mit dem Mauszeiger für die Bestätigung der Konfiguration auf die Abschließen-Schaltfläche. Fahre mit der Installation im nächsten Abschnitt fort, um die wichtigsten Features für den Linux-Container zu aktivieren, die für den Betrieb von Docker unter Proxmox erforderlich sind.

Schritt 2: Notwendige Features für unseren LXC unter Proxmox aktivieren

Klicke in der Server-Ansicht auf den soeben erstellten Docker-Server (Linux Container) und öffne die Optionen > Features (Doppelklick). Setze einen Haken für die Aktivierung der beiden notwendigen Features unter Proxmox: „Nesting“ und „keyctl“ (siehe Screenshot). Bestätige die Auswahl und starte jetzt deinen Docker-Container.

Schritt 3: SSH aktivieren für die Verbindung von einem Client zum Docker-Server

Damit wir uns mittels SSH mit unserem Container verbinden können, rufen wir die Konsole im Proxmox-Dashboard auf und melden uns als Root-Benutzer mit dem Passwort an, welches wir bei der Erstellung unseres Linux-Containers vergeben haben. Gebe in die Konsole den folgenden Befehl ein, um den SSH-Zugriff als Admin mit Berechtigungen (root) zu ermöglichen:

Proxmox Konsole SSH aktivieren für den Docker
nano /etc/ssh/sshd_config

Suche in der Datei nach dem Abschnitt „Authentication“ und entferne die Rauten (Kommentarfunktion) hinter den drei angegeben Zeilen und erweitere die Zeile „PerminRootLogin“ mit einem „yes“, wie auf der Beispielgrafik ersichtlich.

SSH für den Docker-Server (Proxmox) aktivieren

Speichere die Änderungen ab (STRG + S) und verlasse den Nano-Editor wieder mit (STRG + X). Damit die Änderungen wirksam werden, muss der SSH-Service jetzt mit dem folgenden Befehl neu gestartet werden:

systemctl restart ssh

Falls dir deine IP-Adresse noch nicht bekannt ist, weil der Container (LXC) seine IP-Adresse von einem DHCP-Server bezogen hat, kannst du den folgenden Befehl verwenden, um dir die IP-Adresse über die Proxmox-Konsole ausgeben zu lassen:

ip a
IP Adresse für den Proxmox-Docker-Container-Server

Notiere dir jetzt die IP-Adresse. Der Container für Docker ist jetzt über SSH (Secure-Shell) von einem beliebigen SSH-Client aus erreichbar. Die Weboberfläche von Proxmox ist jetzt nicht mehr notwendig und kann geschlossen werden. Verwende einen SSH-Client oder alternativ ein Linux-Terminal/PowerShell und verbinde dich mit deinem Docker-Server.

Schritt 4: Docker im Container unter Proxmox (LXC) installieren

Aktualisiere zunächst die Paketquellen deines neuen Linux-Containers mit Debian 11. Verwende dafür den folgenden Befehl:

apt update && apt upgrade -y

Jetzt müssen die notwendigen Pakete installiert werden, die für das Docker-Repository benötigt werden. Führe die folgenden Befehle auf deiner Konsole aus, um die Vorbereitung abzuschließen:

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

Erstelle ein Verzeichnis und füge den offiziellen GPG-Schlüssel von Docker auf deinem Linux-Server hinzu:

mkdir -p /etc/apt/keyrings

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

Anschließend wird das offizielle stable-Docker-Repository hinzugefügt:

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

Aktualisiere jetzt erneut die Paketquellen vom Server und installiere mit dem folgenden Kommandozeilenbefehl die aktuellste Version von Docker:

apt-get update

Hinweis: Taucht ein Fehler direkt nach der Absendung des Befehls auf? 

In seltenen Fällen treten Probleme mit der Lese-Berechtigung für den öffentlichen Docker-Schlüssel bei einer Aktualisierung auf. Verwende dann den folgenden Befehl, und beginne erneut mit dem Update:

chmod a+r /etc/apt/keyrings/docker.gpg

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

Während der Installation müssen einige Schritte bei Aufforderung mit „Y“ bestätigt werden.

Überprüfe, mit diesen beiden Befehlen, die aktuell installierte Docker-Version und validiere, ob die Docker-Application-Container-Engine aktiv auf deinem Linux-System ausgeführt wird:

docker version
service docker status

Wenn die Installation von Docker im LXC unter Proxmox erfolgreich durchlaufen ist, sollte das Terminal nun den Status: active (running) ausgeben (siehe Screenshot).

Docker Engine Running im Container von Proxmox

Docker-Installation im Linux-Container unter Proxmox-VE abgeschlossen

Herzlichen Glückwunsch! Jetzt hast du einen eigenen Server mit Docker unter Proxmox installiert und die Voraussetzungen für eine Container-Infrastruktur geschaffen. Verifiziere deine neue Docker-Umgebung am besten mit dem Test-Container-Image „Hello-World“. 

Verifiziere deine Docker-Engine (Test):

docker run hello-world

Um auch anderen Benutzern die Steuerung von Kommandos für Docker zu ermöglichen, kannst du einen Linux-User der Docker-Gruppe mit dem folgenden Befehl hinzufügen:

usermod -aG docker Username

Jetzt wo du einen Docker-Server auf Proxmox installierst hast, möchtest du vielleicht noch einen Schritt weitergehen und die freie Software Portainer in einem Container installieren. Portainer vereinfacht den Umgang mit Docker über eine Weboberfläche. Besuche diesen Beitrag und installiere Portainer für die einfache Verwaltung deiner Container-Infrastruktur.

Hat dir dieser Beitrag weitergeholfen?

Über dein Follow auf den sozialen Medien würde ich mich sehr freuen. So erfährst du als erstes von neuen Beiträgen auf meinem Blog und unterstützt mich bei meinem Wachstum. Falls du an einem Schritt dieser Anleitung nicht weiterkommst, verwende die Kommentarfunktion und ich werde dir so bald wie möglich mit Rat und Tat zur Seite stehen. Vielen Dank für deinen Besuch.

Proxmox Container Docker installieren guide

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert