Heim Betrieb und Instandhaltung Nginx Verwenden Sie Nginx, um mehrere Docker-Container als Reverse-Proxy zu verwenden

Verwenden Sie Nginx, um mehrere Docker-Container als Reverse-Proxy zu verwenden

Sep 21, 2019 am 10:05 AM
docker nginx

Einführung

Als ich Docker vorstellte, sagte ich, dass einer seiner Vorteile darin besteht, dass es mehrere Umgebungen auf demselben Server erstellen und diese voneinander isolieren kann. Ich habe gestern den eigentlichen Vorgang durchgeführt und hätte nie erwartet, dass es so viele Fallstricke geben würde und dass es zeitaufwändiger sein würde, als zuvor einen Server von Grund auf neu zu erstellen. Nachdem ich mehrere Pläne geändert habe, habe ich es endlich gelöst. Ich werde die Traurigkeit in der Mitte ignorieren und nur über die Operationsmethode sprechen.

Empfohlenes Tutorial: Nginx-Tutorial

Architektur

Das Laradock-Image ist bereits auf dem Server vorhanden, auf dem Laravel ausgeführt werden kann Umgebung und anderes PHP umfassen Nginx, MySQL, Redis usw.

Meine Idee ist, einen weiteren Nginx-Container für den Reverse-Proxy hinzuzufügen. Nach Subdomain-Namen verteilen, kann an Laradock oder an jeden anderen Container (einschließlich WordPress, Python, Java) usw. verteilt werden.

Lradock ändern

Zu sein geändert Es gibt nur einen Ort, nämlich den Port, den Nginx abhört.

1. Geben Sie das Laradock-Verzeichnis ein

2. Ändern Sie die .env-Datei und ändern Sie den NGINX_HOST_HTTP_PORT-Wert von 80 auf 8000

3

4. Installieren Sie Nginx neu, Docker-Compose Build Nginx

5. Starten Sie Docker-Compose Up -d Nginx

Zu diesem Zeitpunkt können Sie im Browser nicht erfolgreich darauf zugreifen . Weil Nginx nicht mehr auf Port 80 lauscht.

Nginx-Container hinzufügen

Neuen Nginx-Container für Reverse-Proxy hinzufügen. Bei der Installation von Laradock ist bereits ein Image von nginx:alpine vorhanden und der Container kann direkt generiert werden. Natürlich können Sie auch wieder ein neues Bild ziehen. (Alpine-Version wird empfohlen)

1. Überprüfen Sie die Nginx-Image-ID, Docker-Iamges

2. Erzeugen Sie einen neuen Nixn-Container, Docker run --name Proxy_nginx -p 80:80 -d [ Nginx-Image-ID]. Sie können auch den Parameter -v hinzufügen, um die Konfigurationsdatei zuzuordnen, die in meiner Umgebung mit weniger Änderungen nicht benötigt wird

3 Wenn Sie zu diesem Zeitpunkt im Browser darauf zugreifen, sollte es sich um die Standardseite von Nginx handeln. Zeigt an, dass der Start erfolgreich war

4. Geben Sie den generierten Container „docker exec -it Proxy_nginx sh“ ein , /sbin/ip route |. awk '/default/ { print $3 }'

7. Fügen Sie eine neue Konfigurationsdatei laradock.conf im Verzeichnis /etc/nginx/conf.d/ mit dem folgenden Inhalt hinzu

server {
    listen  80;
    server_name  you_site;
    location / {
        proxy_set_header  Host  $http_host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass  http://[宿主机IP]:8000;
    }
}
Nach dem Login kopieren

1. Beenden Sie den Container und starten Sie dann den Docker-Restart-Proxy_nginx

Öffnen Sie Port 8000, siehe hier

Fazit

Wenn Sie zu diesem Zeitpunkt besuchen, können Sie einen Proxy für Laradock Nginx darin erstellen. Wenn Sie später weitere Container hinzufügen möchten, müssen Sie nur neue Proxy-Regeln in Proxy_nginx hinzufügen.

Das obige ist der detaillierte Inhalt vonVerwenden Sie Nginx, um mehrere Docker-Container als Reverse-Proxy zu verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So aktualisieren Sie das Bild von Docker So aktualisieren Sie das Bild von Docker Apr 15, 2025 pm 12:03 PM

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

So verlassen Sie den Container mit Docker So verlassen Sie den Container mit Docker Apr 15, 2025 pm 12:15 PM

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

So starten Sie Docker neu So starten Sie Docker neu Apr 15, 2025 pm 12:06 PM

So starten Sie den Docker -Container neu: Holen Sie sich die Container -ID (Docker PS); Stop den Container (Docker Stop & lt; Container_id & gt;); Starten Sie den Container (Docker start & lt; container_id & gt;); Stellen Sie sicher, dass der Neustart erfolgreich ist (Docker PS). Andere Methoden: Docker Compose (Docker-Compose Neustart) oder Docker-API (siehe Docker-Dokumentation).

So kopieren Sie Dateien in Docker nach außen So kopieren Sie Dateien in Docker nach außen Apr 15, 2025 pm 12:12 PM

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So verwenden Sie Docker Desktop So verwenden Sie Docker Desktop Apr 15, 2025 am 11:45 AM

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

So sehen Sie den Docker -Prozess So sehen Sie den Docker -Prozess Apr 15, 2025 am 11:48 AM

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

Was tun, wenn das Docker -Bild fehlschlägt? Was tun, wenn das Docker -Bild fehlschlägt? Apr 15, 2025 am 11:21 AM

Fehlerbehebung Schritte für fehlgeschlagene Docker -Bild Build: Überprüfen Sie die Dockerfile -Syntax und die Abhängigkeitsversion. Überprüfen Sie, ob der Build -Kontext den erforderlichen Quellcode und die erforderlichen Abhängigkeiten enthält. Sehen Sie sich das Build -Protokoll für Fehlerdetails an. Verwenden Sie die Option -Target -Option, um eine hierarchische Phase zu erstellen, um Fehlerpunkte zu identifizieren. Verwenden Sie die neueste Version von Docker Engine. Erstellen Sie das Bild mit--t [Bildname]: Debugg-Modus, um das Problem zu debuggen. Überprüfen Sie den Speicherplatz und stellen Sie sicher, dass dies ausreicht. Deaktivieren Sie Selinux, um eine Störung des Build -Prozesses zu verhindern. Fragen Sie Community -Plattformen um Hilfe, stellen Sie Dockerfiles an und erstellen Sie Protokollbeschreibungen für genauere Vorschläge.

See all articles