- Was ist Docker
- Welche Vorteile hat Docker in einem LXC gegenüber einer VM
- Unterschiede LXC und VM
- LXC Container vorbereiten
- Docker in Ubuntu installieren
- 1. System aktualisieren
- 2. Notwendige Pakete installieren
- 3. Docker-Repository hinzufügen
- 4. Paketlisten aktualisieren
- 5. Verfügbare Docker-Versionen prüfen (optional)
- 6. Docker installieren
- 7. Benutzer zur Docker-Gruppe hinzufügen
- 8. Installation testen
- TL;DR
Was ist Docker
Docker ist eine Open-Source-Plattform zur Container-Virtualisierung. Mit Docker können Anwendungen in isolierten Containern ausgeführt werden, die alle notwendigen Abhängigkeiten enthalten. Dadurch sind sie plattformunabhängig und leicht zu verwalten. Im Gegensatz zu klassischen virtuellen Maschinen (VMs) nutzt Docker die Ressourcen des Host-Systems effizienter, da Container keinen eigenen Kernel benötigen, sondern den des Hosts gemeinsam nutzen.
Welche Vorteile hat Docker in einem LXC gegenüber einer VM
Die Nutzung von Docker in einem LXC-Container bietet mehrere Vorteile gegenüber einer klassischen VM:
- Geringerer Ressourcenverbrauch: Da LXC-Container keinen eigenen Kernel starten, benötigen sie weniger RAM und CPU-Leistung als eine VM.
- Schnellere Bereitstellung: LXC-Container starten in Sekundenbruchteilen, während VMs meist länger zum Booten brauchen.
- Bessere Integration: Docker-Container laufen in einem LXC-Container näher am Host-System, was eine effizientere Ressourcennutzung ermöglicht.
- Einfacheres Management: Die Kombination aus LXC und Docker erleichtert die Verwaltung mehrerer isolierter Anwendungen ohne die Overhead-Kosten einer vollständigen VM.
Unterschiede LXC und VM
- Kernel-Nutzung: Eine VM hat ihr eigenes Betriebssystem mit eigenem Kernel, während ein LXC-Container den Kernel des Hosts nutzt.
- Leistung: LXC-Container haben einen geringeren Overhead, da sie keinen Hypervisor benötigen. Dadurch sind sie effizienter und nutzen die Hardware direkter.
- Flexibilität: VMs eignen sich besser für Anwendungen, die vollständige Systemisolation benötigen, während LXC-Container ideal für leichtgewichtige und schnell startende Workloads sind.
- Kompatibilität: Manche Anwendungen, insbesondere solche mit speziellen Kernel-Modulen, funktionieren in einer VM besser als in einem LXC-Container.
LXC Container vorbereiten
Damit Docker in dem LXC installiert und verwendet werden kann, muss in den Optionen des Containers das Feature „nesting“ aktiviert werden.
Docker in Ubuntu installieren
- Host System
- Proxmox 8.3.3
- CPU: AMD Ryzen 3700x
- RAM: 80GB
- SSD: 2x 2TB NVME
- Gast System
- Ubuntu 22.04
Die Installation von Docker in einem Ubuntu 22.04 LXC-Container auf Proxmox erfordert einige Schritte, um sicherzustellen, dass Docker reibungslos läuft.
1. System aktualisieren
Zunächst wird das System auf den neuesten Stand gebracht:
sudo apt-get update
2. Notwendige Pakete installieren
Docker benötigt einige zusätzliche Pakete für die Paketverwaltung und Zertifikate:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
3. Docker-Repository hinzufügen
Der offizielle Docker GPG-Schlüssel wird importiert und das Docker-Repository wird zu den Paketquellen hinzugefügt::
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
4. Paketlisten aktualisieren
Damit die neuen Paketquellen erkannt werden, erfolgt ein erneutes Update:
sudo apt update
5. Verfügbare Docker-Versionen prüfen (optional)
Um sicherzustellen, dass die richtigen Docker-Pakete installiert werden, kann dieser Befehl ausgeführt werden:
sudo apt-cache policy docker-ce
6. Docker installieren
Nun kann Docker installiert werden:
sudo apt install -y docker-ce
7. Benutzer zur Docker-Gruppe hinzufügen
Damit der aktuelle Benutzer Docker ohne sudo nutzen kann, wird er zur docker
-Gruppe hinzugefügt.
Danach empfiehlt es sich, sich einmal ab- und wieder anzumelden, damit die Gruppenzugehörigkeit aktiv wird.
sudo usermod -aG docker ${USER}
8. Installation testen
Zum Abschluss kann überprüft werden, ob Docker korrekt läuft.
Dieser Befehl lädt ein kleines Test-Image und führt es aus, um zu prüfen, ob Docker funktioniert.
docker run hello-world
TL;DR
sudo apt-get update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt-cache policy docker-ce
sudo apt install -y docker-ce
sudo usermod -aG docker ${USER} # aktuellen benutzer zur Docker Berechtigungsgruppe hinzufügen