Diese Anleitung erklärt, wie Sie Docker und Docker Compose auf Ihrem Linux VPS installieren. Docker ist eine Containerisierungsplattform, mit der Sie Anwendungen in isolierten Containern erstellen, bereitstellen und ausführen können, was die Bereitstellung und Verwaltung von Anwendungen erleichtert.
📋 Voraussetzungen
- Ein Linux VPS mit Root- oder sudo-Zugriff
- Ubuntu 20.04+ oder Debian 11+ (oder CentOS 7+/RHEL 7+)
- Mindestens 1 GB RAM (2 GB empfohlen)
- Eine stabile Internetverbindung
💡 Infrastruktur-Empfehlung
Docker benötigt schnelle Festplatten für die Kompilierung und intensive I/O-Operationen. Wir empfehlen unsere NVMe VPS für optimale Leistung bei der Verwendung von Docker. NVMe-Laufwerke bieten Geschwindigkeiten bis zu 10x schneller als herkömmliche SSDs, was den Build von Docker-Images und die Startzeiten von Containern erheblich beschleunigt.
⚠️ Wichtig vor der Installation
- System überprüfen : Docker erfordert ein 64-Bit-System
- Daten sichern : Die Installation kann einige Systemkonfigurationen ändern
- Installationszeit : Die Installation dauert normalerweise 5 bis 10 Minuten
🔧 Installation auf Ubuntu/Debian
Schritt 1: System aktualisieren
Bash1# Paketliste aktualisieren 2sudo apt update 3 4# Installierte Pakete aktualisieren 5sudo apt upgrade -y
Schritt 2: Abhängigkeiten installieren
Bash1# Notwendige Pakete installieren 2sudo apt install -y \ 3 ca-certificates \ 4 curl \ 5 gnupg \ 6 lsb-release
Schritt 3: Offiziellen Docker GPG-Schlüssel hinzufügen
Bash1# Verzeichnis für Schlüssel erstellen 2sudo install -m 0755 -d /etc/apt/keyrings 3 4# GPG-Schlüssel herunterladen und hinzufügen 5curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg 6 7# Richtige Berechtigungen setzen 8sudo chmod a+r /etc/apt/keyrings/docker.gpg
Schritt 4: Docker-Repository konfigurieren
Bash# Docker-Repository hinzufügen echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Schritt 5: Docker Engine installieren
Bash1# Paketliste aktualisieren 2sudo apt update 3 4# Docker Engine, containerd und Docker Compose installieren 5sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Schritt 6: Installation überprüfen
Bash1# Überprüfen, dass Docker korrekt installiert ist 2sudo docker --version 3 4# Überprüfen, dass Docker Compose installiert ist 5sudo docker compose version
🔧 Installation auf CentOS/RHEL
Schritt 1: System aktualisieren
Bash# Pakete aktualisieren sudo yum update -y
Schritt 2: Abhängigkeiten installieren
Bash# Notwendige Pakete installieren sudo yum install -y yum-utils
Schritt 3: Docker-Repository hinzufügen
Bash# Docker-Repository hinzufügen sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Schritt 4: Docker Engine installieren
Bash# Docker Engine, containerd und Docker Compose installieren sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Schritt 5: Docker starten
Bash1# Docker-Dienst starten 2sudo systemctl start docker 3 4# Docker beim Booten aktivieren 5sudo systemctl enable docker
Schritt 6: Installation überprüfen
Bash1# Überprüfen, dass Docker korrekt installiert ist 2sudo docker --version 3 4# Überprüfen, dass Docker Compose installiert ist 5sudo docker compose version
👤 Schritt 7: Berechtigungen konfigurieren (Wichtig)
Standardmäßig erfordert Docker Root-Rechte. Um Docker ohne sudo auszuführen, fügen Sie Ihren Benutzer zur Gruppe docker hinzu:
Bash1# Benutzer zur docker-Gruppe hinzufügen 2sudo usermod -aG docker $USER 3 4# Änderungen anwenden (Ab-/Anmeldung erforderlich) 5newgrp docker
Berechtigungen überprüfen
Bash# Docker ohne sudo testen docker run hello-world
Wenn dieser Befehl ohne Fehler funktioniert, ist Docker korrekt konfiguriert!
🧪 Schritt 8: Docker testen
Test-Container ausführen
Bash# Hello World-Container ausführen docker run hello-world
Dieser Befehl wird:
- Das
hello-world-Image von Docker Hub herunterladen - Einen Container aus diesem Image erstellen
- Den Container ausführen
- Eine Bestätigungsmeldung anzeigen
Container überprüfen
Bash1# Laufende Container auflisten 2docker ps 3 4# Alle Container auflisten (einschließlich gestoppter) 5docker ps -a 6 7# Docker-Images auflisten 8docker images
🐙 Schritt 9: Docker Compose installieren (falls nicht enthalten)
Wenn Docker Compose nicht mit Docker Engine installiert wurde, installieren Sie es separat:
Auf Ubuntu/Debian
Bash1# Docker Compose herunterladen 2sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 3 4# Ausführbar machen 5sudo chmod +x /usr/local/bin/docker-compose 6 7# Installation überprüfen 8docker-compose --version
Auf CentOS/RHEL
Bash1# Docker Compose herunterladen 2sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 3 4# Ausführbar machen 5sudo chmod +x /usr/local/bin/docker-compose 6 7# Installation überprüfen 8docker-compose --version
📦 Wichtige Docker-Befehle
Image-Verwaltung
Bash1# Image herunterladen 2docker pull image-name:tag 3 4# Images auflisten 5docker images 6 7# Image entfernen 8docker rmi image-name 9 10# Ungenutzte Images bereinigen 11docker image prune -a
Container-Verwaltung
Bash1# Container erstellen und starten 2docker run image-name 3 4# Container im Hintergrund erstellen (getrennt) 5docker run -d image-name 6 7# Laufende Container auflisten 8docker ps 9 10# Container stoppen 11docker stop container-id 12 13# Gestoppten Container starten 14docker start container-id 15 16# Container neu starten 17docker restart container-id 18 19# Container entfernen 20docker rm container-id 21 22# Container-Logs anzeigen 23docker logs container-id 24 25# Befehl in laufendem Container ausführen 26docker exec -it container-id /bin/bash
Docker Compose
Bash1# In docker-compose.yml definierte Dienste starten 2docker compose up 3 4# Im Hintergrund starten 5docker compose up -d 6 7# Dienste stoppen 8docker compose down 9 10# Logs anzeigen 11docker compose logs 12 13# Images neu erstellen 14docker compose build
🔒 Docker absichern
Docker-Daemon konfigurieren (optional)
Erstellen oder ändern Sie /etc/docker/daemon.json:
Bashsudo nano /etc/docker/daemon.json
Fügen Sie die folgende Konfiguration hinzu:
JSON1{ 2 "log-driver": "json-file", 3 "log-opts": { 4 "max-size": "10m", 5 "max-file": "3" 6 } 7}
Docker neu starten:
Bashsudo systemctl restart docker
Docker-Zugriff einschränken
Standardmäßig haben Benutzer in der Gruppe docker Root-äquivalente Rechte. Für mehr Sicherheit können Sie:
- Nur vertrauenswürdigen Benutzern Zugriff gewähren
- Docker rootless verwenden (erweiterte Installation)
- Sicherheitsrichtlinien konfigurieren über AppArmor oder SELinux
🔄 Docker aktualisieren
Auf Ubuntu/Debian
Bash1# Pakete aktualisieren 2sudo apt update 3 4# Docker aktualisieren 5sudo apt upgrade docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Auf CentOS/RHEL
Bash# Docker aktualisieren sudo yum update docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
🗑️ Docker deinstallieren
Wenn Sie Docker deinstallieren möchten:
Auf Ubuntu/Debian
Bash1# Docker stoppen 2sudo systemctl stop docker 3 4# Pakete deinstallieren 5sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras 6 7# Images, Container und Volumes entfernen 8sudo rm -rf /var/lib/docker 9sudo rm -rf /var/lib/containerd
Auf CentOS/RHEL
Bash1# Docker stoppen 2sudo systemctl stop docker 3 4# Pakete deinstallieren 5sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras 6 7# Images, Container und Volumes entfernen 8sudo rm -rf /var/lib/docker 9sudo rm -rf /var/lib/containerd
❓ Häufige Probleme
Fehler "Cannot connect to the Docker daemon"
Lösung:
Bash1# Überprüfen, dass Docker-Dienst gestartet ist 2sudo systemctl status docker 3 4# Docker bei Bedarf starten 5sudo systemctl start docker 6 7# Überprüfen, dass Sie in der docker-Gruppe sind 8groups
Fehler "Permission denied"
Lösung:
Bash# Benutzer zur docker-Gruppe hinzufügen sudo usermod -aG docker $USER # Ab- und wieder anmelden
Docker ist langsam
Mögliche Lösungen:
- Festplattenspeicher überprüfen:
df -h - Ungenutzte Images bereinigen:
docker system prune -a - Verfügbares RAM überprüfen:
free -h
📝 Beispiel: Einfache Anwendung bereitstellen
docker-compose.yml-Datei erstellen
Bash1# Verzeichnis für Ihr Projekt erstellen 2mkdir mein-projekt 3cd mein-projekt 4 5# docker-compose.yml-Datei erstellen 6nano docker-compose.yml
Beispielinhalt:
YAML1version: '3.8' 2 3services: 4 web: 5 image: nginx:latest 6 ports: 7 - "80:80" 8 volumes: 9 - ./html:/usr/share/nginx/html 10 restart: unless-stopped
Anwendung starten
Bash1# Dienste starten 2docker compose up -d 3 4# Überprüfen, dass Container läuft 5docker ps
📞 Benötigen Sie Hilfe?
Wenn Sie Schwierigkeiten bei der Installation von Docker haben, wenden Sie sich bitte an den Infrawire-Support. Unser Team steht Ihnen zur Verfügung.
Hinweis : Docker ist ein leistungsstarkes Tool, das die Bereitstellung von Anwendungen erheblich vereinfacht. Nehmen Sie sich Zeit, die Grundkonzepte zu verstehen, bevor Sie Anwendungen in der Produktion bereitstellen.