Procédure
Das Docker-CE-Template installiert Docker CE, Docker Compose und Buildx auf Ihrem LWS-KVM-VPS, ohne dass Pakete manuell hinzugefügt werden müssen. Diese Anleitung zeigt Ihnen, wie Sie Ihren Server mit diesem Template neu installieren und ihn anschließend im Alltag mit Docker Compose verwenden. Sie erfahren, wie Sie eine Website starten, ihre Protokolle verfolgen, ihre Daten behalten, sie aktualisieren und im Internet bereitstellen.
Melden Sie sich in Ihrem LWS-Kundenkonto an und öffnen Sie den Reiter Server. Suchen Sie Ihren VPS und klicken Sie dann auf Verwalten, um die Oberfläche zu öffnen.
Klicken Sie im linken Seitenmenü auf Neuinstallation. Der Katalog der Systeme und Anwendungen wird angezeigt.
Wählen Sie im Bereich Anwendungen unter der Kategorie Docker beispielsweise Docker CE ubuntu-24-04 aus.
Unter Zu installierende SSH-Schlüssel (optional) wählen Sie Ihren SSH-Schlüssel aus. Klicken Sie anschließend unten rechts auf Server neu installieren.
Geben Sie im Warnfenster den exakten Namen Ihres Servers ein und klicken Sie dann auf den roten Button Neuinstallation.
Das System erstellt Ihre Umgebung mit Docker CE, Docker Compose und Buildx. Der Vorgang dauert in der Regel zwischen 3 und 5 Minuten.
Wenn der Server wieder auf ON mit dem Hinweis Docker CE wechselt, notieren Sie seine IPv4-Adresse im Block Server-IPs. Öffnen Sie ein Terminal auf Ihrem Rechner und verbinden Sie sich als root, wobei Sie die Beispiel-IP durch Ihre eigene ersetzen.
ssh root@203.0.113.10
Zeigen Sie die Versionen von Docker und Docker Compose an. Starten Sie anschließend den Test-Container hello-world: Er zeigt eine Meldung an und stoppt dann.
docker --version
docker compose version
docker run --rm hello-worldHello from Docker!
This message shows that your installation appears to be working correctly.Eine compose.yaml-Datei beschreibt Ihre Container. Erstellen Sie einen Projektordner mit einem Unterordner für die Seiten der Website und einer Startseite. Erstellen Sie dann die compose.yaml-Datei: Sie startet Nginx, veröffentlicht Port 8080 des Servers auf Port 80 des Containers, bindet den lokalen Ordner schreibgeschützt ein und startet den Container bei manuellem Stopp neu.
mkdir -p /root/meine-site/html
cd /root/meine-site
echo 'Bonjour depuis Docker
' > html/index.html
nano compose.yamlservices:
web:
image: nginx:stable
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html:ro
restart: unless-stoppedStarten Sie aus dem Projektordner heraus die Dienste im Hintergrund. Docker lädt das Image beim ersten Mal herunter und erstellt dann den Container. Testen Sie anschließend die Antwort der Website vom Server aus.
cd /root/meine-site
docker compose up -d
curl http://localhost:8080Bonjour depuis Docker
Listen Sie die Container des Projekts auf, um ihren Status zu überprüfen. Verfolgen Sie anschließend ihre Protokolle live, um einen Fehler zu erkennen oder die empfangenen Anfragen zu sehen. Beenden Sie die Überwachung mit Strg+C: Die Container laufen weiter.
docker compose ps
docker compose logs -fDer Inhalt eines Containers verschwindet, wenn dieser gelöscht wird. Um Daten zu behalten, speichern Sie sie in einem Volume. Im Beispiel wird der Ordner html in den Container eingebunden: Ihre Seiten bleiben auf dem Server. Für eine Datenbank verwenden Sie besser ein benanntes Volume, das in der compose.yaml-Datei deklariert wird. Die folgenden Befehle listen die Volumes auf und zeigen den Speicherort eines davon an.
docker volume ls
docker volume inspect volume_nameUm auf eine neuere Version des Images umzusteigen, laden Sie es herunter und erstellen Sie dann den Container neu. Docker ersetzt nur die Dienste, deren Image geändert wurde. Ihre Volumes bleiben erhalten.
cd /root/meine-site
docker compose pull
docker compose up -dMit restart: unless-stopped in der compose.yaml-Datei startet der Container nach einem Serverneustart erneut. Er bleibt gestoppt, wenn Sie ihn selbst angehalten haben. Der Docker-Dienst startet mit dem System automatisch: Prüfen Sie dies mit dem folgenden Befehl.
systemctl is-enabled dockerenabledDer erste Befehl stoppt und entfernt die Container des Projekts, behält aber Ihre Dateien und Volumes. Der zweite entfernt gestoppte Container, ungenutzte Netzwerke und verwaiste Images (ohne Tag). Docker fordert vor der Ausführung eine Bestätigung an.
docker compose down
docker system pruneDie Zeile ports in der Datei compose.yaml veröffentlicht einen Port des Servers. Mit 8080:80 antwortet die Website auf Port 8080 der Server-IP, zum Beispiel http://203.0.113.10:8080. Wenn die Firewall auf Ihrem VPS aktiv ist, öffnen Sie diesen Port im Menü Firewall des KVM-Panels. Um einen Domainnamen wie example.com zu verwenden, lassen Sie ihn bei Ihrem DNS-Verwalter auf die Server-IP zeigen.
curl http://203.0.113.10:8080Bonjour depuis Docker
Nein. Das Docker-CE-Template integriert die Docker-CE-Engine sowie die Erweiterungen Docker Compose und Docker Buildx. Sie sind direkt nach Abschluss der Neuinstallation nutzbar.
SSH-Schlüssel werden nur während der Systeminstallation in das root-Konto eingetragen. Wenn Sie später einen Schlüssel hinzufügen, fügen Sie ihn selbst in die Datei ~/.ssh/authorized_keys ein.
Veröffentlichen Sie den Port mit dem Abschnitt ports in der compose.yaml-Datei, zum Beispiel 8080:80. Wenn die Firewall aktiv ist, öffnen Sie diesen Port auch im Menü Firewall des KVM-Panels.
Bei einem benannten Volume legt Docker sie auf der Serverfestplatte unter /var/lib/docker/volumes ab. Der Befehl docker volume inspect zeigt den genauen Speicherort an. Bei einem gemounteten Ordner wie ./html bleiben die Daten in Ihrem Projektordner.
Starten Sie aus dem Projektordner heraus docker compose ps -a, um den Status jedes Dienstes zu sehen, und dann docker compose logs dienstname, um seine Fehlermeldungen zu lesen. Ein Einrückungsfehler in der compose.yaml-Datei ist eine häufige Ursache.
Fügen Sie restart: unless-stopped zum Dienst in der compose.yaml-Datei hinzu und starten Sie dann docker compose up -d erneut. Der Docker-Dienst startet mit dem System und startet dann Ihre Container neu.
Ein Image ist ein festes Modell, das den Code und seine Abhängigkeiten enthält. Der Container ist die laufende Instanz, die aus diesem Image erstellt wurde.
Nein. Die Neuinstallation überschreibt die lokale Festplatte und löscht die Daten sowie die vorhandenen Snapshots endgültig.
Stellen Sie sie dem LWS-Team und der Community. Die Antwort wird nach Moderation veröffentlicht.