So führen Sie NGINX mit dem Docker-Befehl run aus
Jun 15, 2026
/
Eveline B.
/
5 Min. Lesezeit
Die Ausführung von NGINX in Docker vereinfacht die Bereitstellung von Webservern, da keine komplexen Installationen auf Betriebssystemebene erforderlich sind. Um einen NGINX-Container mit Docker zu starten, führen Sie den folgenden Befehl aus:
docker run --name my-nginx -p 80:80 -d nginx
Dieser einzelne Befehl löst eine Reihe von Aktionen aus: Docker sucht nach dem offiziellen Image (und lädt es bei Bedarf herunter), erstellt einen isolierten Container, ordnet den erforderlichen Port zu und startet den Server im Hintergrund.
Was sind die Voraussetzungen für die Ausführung von NGINX in Docker?
- Zugang zu virtuellen privaten Servern (VPS). Sie benötigen einen VPS, auf dem eine moderne Linux-Distribution (wie Ubuntu oder Debian) mit root- oder sudo-Rechten läuft.
- Docker Engine 20.10 oder höher. Auf dem Host-Rechner muss Docker installiert sein, und der Dienst muss aktiv sein. Führen Sie docker –version aus, um dies zu überprüfen.

- Benutzerrechte. Der Benutzer, der diese Aufgabe ausführt, sollte Teil der Docker -Gruppe sein, um Befehle ohne sudo ausführen zu können.
- Docker Compose. Für einzelne Container ist dies optional, aber Docker Compose wird empfohlen, um später komplexere Umgebungen mit mehreren Containern zu definieren.
1. Das offizielle NGINX-Docker-Image pullen
Führen Sie diesen Befehl aus, um das nginx -Image von Docker Hub herunterzuladen:
docker pull nginx

Dieser Befehl lädt das neueste stabile NGINX-Image auf Ihren Host-Rechner herunter.
Die Verwendung des offiziellen Images bedeutet, dass Sie mit einer sicheren, gepflegten Version der Software direkt vom NGINX-Team arbeiten, ohne unnötigen Ballast oder veraltete Abhängigkeiten.
Überprüfen Sie, ob das Image erfolgreich heruntergeladen wurde:
Docker-Images nginx

2. NGINX im abgetrennten Modus ausführen
Um Ihr Terminal für andere Aufgaben freizuhalten, lassen Sie den Container im Hintergrund im Detached Mode laufen. Verwenden Sie das Flag -d, um den Container zu starten und die Kontrolle sofort an die Konsole zurückzugeben.
docker run --name my-nginx -p 80:80 -d nginx

- –name my-nginx. Weist dem Container zur einfacheren Verwaltung den benutzerdefinierten Namen my-nginx zu.
- -d. Trennt den Prozess und lässt den Container im Hintergrund laufen.
- nginx. Gibt das zu verwendende Bild an.
Überprüfen Sie, ob der Container läuft, indem Sie die aktiven Prozesse auflisten:
docker ps

Wenn Sie eine Fehlermeldung erhalten, dass der Containername bereits verwendet wird, entfernen Sie den vorhandenen Container mit docker rm my-nginx oder führen Sie docker run erneut aus, z. B. mit einem anderen Containernamen:
docker run --name my-nginx-new -p 80:80 -d nginx
3. Ports beim Betrieb von NGINX freigeben
Verwenden Sie das Flag -p, um einen Port auf Ihrem Host-Rechner einem Port innerhalb des Containers zuzuordnen.
Standardmäßig lauscht NGINX auf Port 80. Um den Webserver außerhalb des Containers zugänglich zu machen, müssen Sie den internen Port des Containers mit einem offenen Port auf Ihrem Host verbinden.
Um Port 8080 auf Ihrem Host auf Port 80 im Container zuzuordnen, führen Sie Folgendes aus:
docker run --name my-nginx -p 8080:80 -d nginx
Wenn der Anschluss 8080 verwendet wird, wählen Sie einen anderen, nicht verwendeten Anschluss, z. B. 8081:
docker run -d -p 8081:80 --name my-nginx nginx
Wenn Sie die Fehlermeldung „address already in use“ erhalten, deutet dies auf einen Anschlusskonflikt hin. Um zu überprüfen, welche Ports derzeit auf Ihrem System aktiv sind, bevor Sie den Befehl ausführen, verwenden Sie lsof:
lsof -i -P -n | grep LISTEN

4. NGINX mit einer benutzerdefinierten Konfigurationsdatei konfigurieren
Um das Verhalten von NGINX anzupassen, können Sie Ihre eigene Konfigurationsdatei mit dem Flag -v (volume) einbinden. Dies ist nützlich für fortgeschrittene Konfigurationen, wie z. B. die Konfiguration von NGINX als Reverse-Proxy.
Erstellen Sie zunächst mit dem Texteditor nano eine benutzerdefinierte Konfigurationsdatei namens nginx.conf auf Ihrem Host:
nano nginx.conf
Fügen Sie den folgenden Inhalt ein:
Ereignisse {} http { Server { hören 80; Standort / { proxy_pass http://host.docker.internal:3000; } }
}
Diese Konfiguration leitet den Datenverkehr an einen Backend-Dienst, der auf Port 3000 läuft.
Speichern Sie die Datei und verlassen Sie den Editor mit Strg + X → Y → Enter.
Starten Sie dann den Container und mounten Sie diese Datei, um die Standardkonfiguration innerhalb des Containers zu überschreiben. Unter Linux benötigt der spezielle Hostname host.docker.internal ein zusätzliches Flag, um korrekt aufgelöst zu werden:
docker run -d \ --name custom-nginx \ -p 80:80 \ --add-host=host.docker.internal:host-gateway \ -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf:ro \ nginx

Das Flag –add-host ordnet host.docker.internal der IP-Adresse des Host-Rechners zu. Die Option :ro sorgt dafür, dass die Datei innerhalb des Containers schreibgeschützt bleibt, um versehentliche Änderungen innerhalb der laufenden Instanz zu verhindern.
5. Statische Inhalte mit NGINX bereitstellen
Um Ihre eigenen Website-Dateien bereitzustellen, binden Sie ein lokales Verzeichnis mit Ihren HTML- CSS- und JavaScript-Dateien in das Standard-NGINX-Web-Root ein.
Erstellen Sie ein Verzeichnis namens html:
mkdir html
Fügen Sie mit nano html/index.html eine Datei index.html in das Verzeichnis ein, und fügen Sie einige grundlegende Inhalte ein:
<!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <Titel>Meine Docker NGINX-Site</title> </head> <body> <h1>Hallo von NGINX in Docker!</h1> <p>Diese Seite wird von einem gemounteten Datenträger bereitgestellt.</p> </body> </html>

Führen Sie nach dem Speichern den folgenden Befehl aus:
docker run -d \ --name static-nginx \ -p 80:80 \ -v $(pwd)/html:/usr/share/nginx/html:ro \ nginx
Öffnen Sie Ihren Browser und navigieren Sie zu http://your-server-ip, um die Seite anzuzeigen.

Hostinger VPS -Benutzer können die IP-Adresse ihres Servers im hPanel finden, indem sie zu VPS → Verwalten → Übersicht → VPS-Details → IPv4 navigieren.

Beachten Sie, dass die Standardkonfiguration von NGINX automatisch nach einer index.html -Datei im Verzeichnis /usr/share/nginx/html sucht.
Wenn Ihre Anwendung eine andere Verzeichnisstruktur oder spezielle Routing-Regeln erfordert, kombinieren Sie diesen Schritt mit der im vorherigen Abschnitt beschriebenen benutzerdefinierten Konfigurationsmethode.

6. NGINX-Container verwalten
Sobald Ihr Container läuft, verwenden Sie die Standard-Docker-Befehle, um seinen Lebenszyklus zu verwalten.
Stoppen Sie den Container mit docker stop, gefolgt von dem Containernamen:
docker stop my-nginx

Starten Sie den Container wieder, wenn er gerade angehalten wurde:
docker start my-nginx
Zeigen Sie Protokolle an, um Fehler zu beheben oder Zugriffsanfragen zu überprüfen:
docker protokolliert my-nginx

Entfernen Sie den Behälter vollständig (vergewissern Sie sich, dass er zuvor angehalten wurde):
docker rm my-nginx
7. Docker Compose mit NGINX verwenden
Für Szenarien mit mehreren Diensten, z. B. einem Webserver, der mit einer Datenbank kommuniziert, sollten Sie Docker Compose verwenden. Es vereinfacht die Orchestrierung durch die Definition der Umgebung in einer YAML-Datei.
Erstellen Sie eine Datei namens docker-compose.yml und fügen Sie den folgenden Inhalt ein:
Dienstleistungen: Web: Bild: nginx Häfen: - "80:80" extra_hosts: - "host.docker.internal:host-gateway" Volumen: -./nginx.conf:/etc/nginx/nginx.conf:ro -./html:/usr/share/nginx/html:ro

Diese Konfiguration definiert einen Dienst namens web, der das NGINX-Image verwendet, Port 80 zur Verfügung stellt und sowohl eine benutzerdefinierte Konfigurationsdatei als auch ein Verzeichnis für statische Inhalte einbindet.
Die extra_hosts -Direktive aktiviert den host.docker.internal -Hostnamen auf Linux-Systemen.
Starten Sie die Umgebung mit einem einzigen Befehl:
docker compose up -d

Mit Docker Compose wird Ihre Konfiguration reproduzierbar und Sie können den gesamten Anwendungsstapel mit Befehlen wie docker compose stop und docker compose down verwalten.
Was ist der nächste Schritt nach der Ausführung von NGINX in Docker?
Mit dem Wissen darüber, wie man NGINX in einem Docker-Container ausführt, haben Sie die Grundlage für die Bereitstellung eines portablen Webservers geschaffen. Sie müssen sich keine Gedanken über Installationen auf Betriebssystemebene oder Versionskonflikte machen, da Container alles isoliert und konsistent halten.
Bei größeren Projekten ist es jedoch unpraktisch, für jeden Container lange Befehle einzugeben. Um den realen Datenverkehr zu bewältigen und Ihre Anwendung bei Aktualisierungen online zu halten, müssen Sie über einzelne Container hinausgehen und die Orchestrierung verstehen.
Lesen Sie unseren Leitfaden zur Bereitstellung eines Docker-Stacks, um zu erfahren, wie Sie mit Docker Swarm einen Cluster von Containern auf mehreren Rechnern verwalten können.
Alle Tutorial-Inhalte auf dieser Website unterliegen Hostingers strengen redaktionellen Standards und Normen.
Comments
0 responses