So installieren Sie Docker auf CentOS: Vollständiger Schritt-für-Schritt-Leitfaden
Docker hat die Art, wie Entwickler Anwendungen erstellen, versenden und ausführen, grundlegend verändert. Durch das Verpacken von Software in leichte, portable Container beseitigt Docker das klassische Problem „es funktioniert auf meinem Computer” und vereinfacht sowohl Entwicklungs-Workflows als auch Produktionsbereitstellungen erheblich. Wenn Sie CentOS ausführen und die Kraft der Containerisierung nutzen möchten, führt Sie dieser umfassende Leitfaden durch jeden Schritt – von einer frischen Systemaktualisierung bis zur erweiterten Konfiguration.
Unabhängig davon, ob Sie eine einzelne Webanwendung bereitstellen oder komplexe Multi-Container-Umgebungen orchestrieren, ist die korrekte Installation von Docker auf CentOS der kritische erste Schritt.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
- Einen CentOS 7 oder CentOS 8 Server (physisch oder virtuell)
- Ein Benutzerkonto mit
sudoBerechtigungen - Eine stabile Internetverbindung
- Grundlegende Vertrautheit mit der Linux-Befehlszeile
> Pro-Tipp: Für die beste Docker-Erfahrung sollten Sie Docker auf einem VPS Hosting Plan ausführen. Ein virtueller privater Server gibt Ihnen vollständigen Root-Zugriff, dedizierte Ressourcen und die Flexibilität, Container ohne die Einschränkungen gemeinsamer Umgebungen auszuführen.
Schritt 1: System aktualisieren
Bevor Sie neue Software installieren, aktualisieren Sie immer Ihre vorhandenen Pakete, um Kompatibilität und Sicherheit zu gewährleisten. Führen Sie den folgenden Befehl aus:
sudo yum update -yDieser Befehl aktualisiert alle installierten Pakete auf ihre neuesten Versionen. Dies kann je nach Anzahl der ausstehenden Updates einige Minuten dauern. Ein vollständig aktualisiertes System reduziert das Risiko von Abhängigkeitskonflikten während der Docker-Installation.
Schritt 2: Erforderliche Abhängigkeiten installieren
Docker benötigt mehrere Pakete auf Systemebene, um ordnungsgemäß zu funktionieren. Installieren Sie diese mit einem einzigen Befehl:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2Hier ist, was jedes Paket tut:
| Paket | Zweck |
|---|---|
yum-utils | Stellt das yum-config-manager Dienstprogramm zur Verwaltung von Repositories bereit |
device-mapper-persistent-data | Erforderlich für den Device-Mapper-Speichertreiber von Docker |
lvm2 | Unterstützung für Logical Volume Manager für das Speicher-Backend von Docker |
Diese Abhängigkeiten stellen sicher, dass Docker den Container-Speicher auf Ihrem CentOS-System effizient und zuverlässig verwalten kann.
Schritt 3: Offizielles Docker-Repository hinzufügen
Die Standard-Paket-Repositories von CentOS enthalten nicht die neuesten Docker-Pakete. Sie müssen Dockers offizielles Repository hinzufügen, um die aktuellste, stabile Version zu erhalten:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoDieser Befehl fügt Dockers offizielles CentOS-Repository zur Liste der Repositories Ihres Systems hinzu. Die Verwendung der offiziellen Quelle garantiert, dass Sie echte, aktuelle Docker-Pakete direkt von Docker Inc. erhalten, anstatt möglicherweise veraltete Versionen von Drittanbieter-Spiegeln.
Sie können überprüfen, ob das Repository erfolgreich hinzugefügt wurde, indem Sie Ihre konfigurierten Repositories auflisten:
sudo yum repolistSchritt 4: Docker Engine installieren
Mit dem Repository an Ort und Stelle ist die Installation von Docker unkompliziert:
sudo yum install -y docker-ce docker-ce-cli containerd.io> Hinweis: Es wird empfohlen, auch docker-ce-cli (die Docker-Befehlszeilenschnittstelle) und containerd.io (die Container-Laufzeit) zusammen mit der Hauptengine für ein vollständiges, produktionsreifes Setup zu installieren.
Dies installiert die Docker Community Edition (CE) – die kostenlose, Open-Source-Version von Docker, die sich perfekt für Entwicklungs- und Produktionsworkloads eignet.
Schritt 5: Docker-Dienst starten und aktivieren
Die Installation von Docker startet es nicht automatisch. Sie müssen den Docker-Daemon starten und ihn so konfigurieren, dass er beim Systemstart automatisch gestartet wird:
sudo systemctl start docker
sudo systemctl enable dockersystemctl start docker— Startet den Docker-Dienst sofortsystemctl enable docker— Konfiguriert Docker so, dass es bei jedem Neustart des Servers automatisch gestartet wird
Dienststatus überprüfen
Bestätigen Sie, dass Docker ordnungsgemäß ausgeführt wird:
sudo systemctl status dockerSie sollten eine Ausgabe sehen, die anzeigt, dass der Dienst aktiv (wird ausgeführt) ist. Wenn der Status Fehler anzeigt, überprüfen Sie die Systemprotokolle mit journalctl -u docker für Fehlerbehebungsdetails.
Schritt 6: Docker-Installation überprüfen
Führen Sie Dockers integrierten Test aus, um zu bestätigen, dass alles wie erwartet funktioniert:
sudo docker run hello-worldDieser Befehl führt Folgendes aus:
- Kontaktiert die Docker Hub Registry
- Lädt das leichte
hello-worldTest-Image herunter - Erstellt einen neuen Container aus diesem Image
- Führt den Container aus, der eine Bestätigungsmeldung ausgibt
Wenn Ihre Installation erfolgreich ist, sehen Sie eine Ausgabe, die mit Folgendem beginnt:
Hello from Docker!
This message shows that your installation appears to be working correctly.Glückwunsch – Docker ist nun vollständig installiert und betriebsbereit auf Ihrem CentOS-Server.
Schritt 7: Docker für Nicht-Root-Benutzer konfigurieren (Optional, aber empfohlen)
Standardmäßig erfordern Docker-Befehle sudo (Root-Berechtigungen). Für Sicherheit und Komfort in Entwicklungsumgebungen können Sie bestimmten Nicht-Root-Benutzern erlauben, Docker-Befehle auszuführen, indem Sie sie zur docker Gruppe hinzufügen.
Docker-Gruppe erstellen
In den meisten Fällen wird diese Gruppe während der Installation automatisch erstellt. Falls nicht, erstellen Sie sie manuell:
sudo groupadd dockerFügen Sie Ihren Benutzer zur Docker-Gruppe hinzu
Ersetzen Sie your_username durch den tatsächlichen Linux-Benutzernamen:
sudo usermod -aG docker your_usernameÄnderungen anwenden
Melden Sie sich ab und wieder an, um Ihre Gruppenmitgliedschaft zu aktualisieren. Alternativ können Sie die Änderung in der aktuellen Sitzung aktivieren:
newgrp dockerTesten ohne Sudo
docker run hello-worldWenn dies ohne sudo und ohne Berechtigungsfehler ausgeführt wird, funktioniert die Konfiguration ordnungsgemäß.
> Sicherheitswarnung: Die docker Gruppe gewährt Berechtigungen, die dem root Benutzer entsprechen. Fügen Sie in Produktionsumgebungen nur vertrauenswürdige Benutzer zu dieser Gruppe hinzu.
Schritt 8: Referenz zu wesentlichen Docker-Befehlen
Sobald Docker ausgeführt wird, finden Sie hier die wichtigsten Befehle, die Sie täglich verwenden werden:
Container-Verwaltung
# List all running containers
docker ps
# List all containers (including stopped ones)
docker ps -a
# Start a stopped container
docker start container_id
# Stop a running container
docker stop container_id
# Remove a container
docker rm container_id
# Remove all stopped containers at once
docker container pruneImage-Verwaltung
# List all locally stored images
docker images
# Pull an image from Docker Hub
docker pull image_name
# Pull a specific version/tag
docker pull image_name:tag
# Remove a local image
docker rmi image_name
# Remove all unused images
docker image prune -aContainer ausführen
# Run a container interactively
docker run -it image_name /bin/bash
# Run a container in detached (background) mode
docker run -d image_name
# Run a container with port mapping
docker run -d -p 8080:80 image_name
# Run a container with a custom name
docker run -d --name my_container image_nameProtokolle und Statistiken anzeigen
# View container logs
docker logs container_id
# Follow live log output
docker logs -f container_id
# View real-time resource usage
docker statsSchritt 9: Bestätigen Sie, dass Docker beim Start gestartet wird
Docker sollte bereits so konfiguriert sein, dass es beim Start gestartet wird, nachdem Sie systemctl enable docker ausgeführt haben. Um dieses Verhalten zu überprüfen oder erneut zu aktivieren:
sudo systemctl enable dockerUm den automatischen Start zu deaktivieren (z. B. auf einem Entwicklungscomputer, auf dem Sie Docker nicht immer benötigen):
sudo systemctl disable dockerSchritt 10: Erweiterte Konfiguration (Optional)
Docker Compose installieren
Docker Compose ist ein unverzichtbares Werkzeug zum Definieren und Verwalten von Multi-Container-Anwendungen mit einer einfachen YAML-Konfigurationsdatei. Installieren Sie die neueste stabile Version:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeÜberprüfen Sie die Installation:
docker-compose --versionMit Docker Compose können Sie ganze Anwendungs-Stacks – Webserver, Datenbanken, Caches – in einer einzigen docker-compose.yml Datei definieren und alle mit einem Befehl starten: docker-compose up -d.
Docker-Daemon konfigurieren
Sie können das Verhalten von Docker anpassen, indem Sie die Daemon-Konfigurationsdatei bearbeiten (oder erstellen):
sudo nano /etc/docker/daemon.jsonEin häufiges Konfigurationsbeispiel:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}Nach dem Bearbeiten der Daemon-Konfiguration starten Sie Docker neu, um Änderungen anzuwenden:
sudo systemctl restart dockerHäufige Daemon-Einstellungen, die Sie konfigurieren können, sind:
- Log-Treiber und -Rotation — Verhindern Sie, dass Container-Protokolle den gesamten Speicherplatz verbrauchen
- Speichertreiber —
overlay2ist der empfohlene Treiber für CentOS - DNS-Einstellungen — Legen Sie benutzerdefinierte DNS-Server für Container fest
- Registry-Spiegel — Beschleunigen Sie Image-Pulls mit lokalen Spiegeln
Firewall-Regeln konfigurieren (CentOS 7)
Wenn Sie firewalld ausführen, müssen Sie möglicherweise den Netzwerk-Traffic von Docker zulassen:
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --reloadWahl der richtigen Hosting-Umgebung für Docker
Das Ausführen von Docker in der Produktion erfordert eine zuverlässige, leistungsstarke Server-Umgebung. Hier sind die besten Optionen je nach Ihrem Anwendungsfall:
- VPS Hosting — Ideal für die meisten Docker-Bereitstellungen. Vollständiger Root-Zugriff, skalierbare Ressourcen und kostengünstige Preisgestaltung machen VPS zur bevorzugten Wahl für containerisierte Anwendungen.
- Dedicated Servers — Am besten für Produktionsumgebungen mit hohem Traffic oder wenn Sie maximale CPU-, RAM- und Speicherleistung benötigen, um Dutzende von Containern gleichzeitig auszuführen.
- GPU Hosting — Perfekt für AI/ML-Workloads, die in Docker-Containern ausgeführt werden und GPU-Beschleunigung für Modelltraining oder Inferenz benötigen.
