InfrawireInfrawire LogoDokumentation

Docker auf einem Linux VPS installieren

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

Bash
1# Paketliste aktualisieren 2sudo apt update 3 4# Installierte Pakete aktualisieren 5sudo apt upgrade -y

Schritt 2: Abhängigkeiten installieren

Bash
1# 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

Bash
1# 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

Bash
1# 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

Bash
1# Ü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

Bash
1# Docker-Dienst starten 2sudo systemctl start docker 3 4# Docker beim Booten aktivieren 5sudo systemctl enable docker

Schritt 6: Installation überprüfen

Bash
1# Ü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:

Bash
1# 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:

  1. Das hello-world-Image von Docker Hub herunterladen
  2. Einen Container aus diesem Image erstellen
  3. Den Container ausführen
  4. Eine Bestätigungsmeldung anzeigen

Container überprüfen

Bash
1# 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

Bash
1# 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

Bash
1# 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

Bash
1# 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

Bash
1# 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

Bash
1# 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:

Bash
sudo nano /etc/docker/daemon.json

Fügen Sie die folgende Konfiguration hinzu:

JSON
1{ 2 "log-driver": "json-file", 3 "log-opts": { 4 "max-size": "10m", 5 "max-file": "3" 6 } 7}

Docker neu starten:

Bash
sudo 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:

  1. Nur vertrauenswürdigen Benutzern Zugriff gewähren
  2. Docker rootless verwenden (erweiterte Installation)
  3. Sicherheitsrichtlinien konfigurieren über AppArmor oder SELinux

🔄 Docker aktualisieren

Auf Ubuntu/Debian

Bash
1# 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

Bash
1# 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

Bash
1# 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:

Bash
1# Ü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

Bash
1# Verzeichnis für Ihr Projekt erstellen 2mkdir mein-projekt 3cd mein-projekt 4 5# docker-compose.yml-Datei erstellen 6nano docker-compose.yml

Beispielinhalt:

YAML
1version: '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

Bash
1# 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.