Heim >Betrieb und Instandhaltung >Nginx >So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

WBOY
WBOYnach vorne
2023-05-17 15:31:401183Durchsuche

Nginx-Datenvolumen

nginx verfügt über viele Funktionen, z. B. Forward-Proxy, Reverse-Proxy, Lastausgleich, transparenter Proxy usw. Im Allgemeinen werden Reverse-Proxy und Lastausgleich häufiger verwendet. Wir müssen die Konfigurationsdatei nur lokal synchronisieren, um diese Vorgänge abzuschließen. Um die Nginx-Konfigurationsdatei zu erstellen, müssen Sie zunächst eine neue Datei mit dem Namen nginx.conf im Verzeichnis /etc/nginx/ erstellen.

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Auch nginx.conf im Verzeichnis nginx1 muss erstellt werden. Lassen Sie den Inhalt einfach leer. Überprüfen Sie als Nächstes, ob das Bild normal ist:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Wenn Sie das Bild noch nicht heruntergeladen haben, verwenden Sie den folgenden Befehl, um das Bild abzurufen (Standard ist die neueste Version):

docker pull nginx

Als nächstes führen Sie den Container aus:

docker run -itd -p 80:80 --name nginx001 -v /docker/nginx1/nginx.conf:/etc/nginx/nginx.conf nginx

Erklären Sie:

  • -itd: Interaktiven Modus einschalten, Terminal simulieren, im Hintergrund ausführen

  • -p 80:80: Der entsprechende Port wird dem Host zugeordnet

  • --name nginx001: Benutzerdefinierter Containername

  • -v /docker/nginx1/ nginx.conf:/etc/nginx/nginx.conf: Ordnet die entsprechende Datei des Hosts der Nginx-Konfigurationsdatei zu

nginx: Der Name des laufenden image

Nachdem der obige Befehl ausgeführt wurde, wird eine zufällige Zeichenfolge zurückgegeben, um die Containererstellung darzustellen. Erfolgreich:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Sehen Sie sich den laufenden Container an:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Wenn Sie nginx001 nicht sehen, muss es sich um einen Fehler handeln beim Ausführen. Schauen wir uns die Fehlermeldung an:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Dies bedeutet wahrscheinlich, dass in der Konfigurationsdatei kein nginx001 vorhanden ist. Suchen Sie den Ereignisknoten. Da der Inhalt der von uns erstellten Datei leer ist, wird die nginx.conf im entsprechenden Verzeichnis beim Starten des Containers direkt der nginx.conf in nginx001 zugeordnet. Natürlich kann nginx mit einer leeren Konfiguration nicht ausgeführt werden.

Jetzt hat vi gerade nginx.conf lokal erstellt und mit der Konfiguration begonnen:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Bevor ich ein einfaches .net-Kernprogramm auf Docker bereitgestellt habe, das den lokalen Port 1500 belegt, habe ich das Programm jetzt über den Nginx-Reverse-Proxy zu einem bestimmten Ziel weitergeleitet Domänennamen und greifen Sie über Port 80 darauf zu. Nachdem die Konfigurationsdatei geschrieben wurde, starten Sie den Container nginx001 neu:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Jetzt wurde nginx001 erfolgreich gestartet. Greifen wir auf den gerade angegebenen Domänennamen zu:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

nginx-Konfiguration wurde wirksam.

Abschließend versuchen wir, ob ein Neustart von Docker dazu führt, dass die Konfiguration initialisiert wird:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Starten Sie zwei Container:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Besuchen Sie die Seite:

So verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx

Das Datenvolumen wurde erfolgreich angewendet Aufgrund des Neustarts wird die Datenbank nach Docker nicht initialisiert. In Zukunft haben Sie keine Angst mehr vor Docker-Abstürzen und Datenverlust.

Ergänzung

Das Proxy_pass-Attribut in der Nginx-Konfigurationsdatei kann bei Konfiguration in einer Nicht-Docker-Umgebung normal mit localhost oder 127.0.0.1 wirksam werden. Wenn der Nginx-Container jedoch mit localhost oder 127.0.0.1 unter Docker konfiguriert ist, ist dies der Fall ist eine kleine Grube. Der eigentliche Reverse-Proxy kann nicht durchgeführt werden. Denn wenn der Container ausgeführt wird, weist Docker ihm eine separate IP und einen separaten Port zu und ordnet dann die von Docker belegte IP der Container-IP zu (z. B. können Sie sich nach dem Start von MySQL unter Docker mit localhost beim Client anmelden ). Wenn Nginx jedoch gestartet wird, liest es zunächst die Konfigurationsdatei und führt sie nur aus, wenn die Konfiguration korrekt ist. Daher ordnet Docker nach erfolgreicher Ausführung des Containers die lokale IP zu. Nur wenn direkt über die IP des Containers zugegriffen wird und in der Konfigurationsdatei localhost oder 127.0.0.1 steht, wird der Reverse-Proxy ausgelöst. Wenn Sie Nginx mit Docker auf dem Server konfigurieren, müssen Sie nur die IP-Adresse des Servers eingeben, um die Konfiguration abzuschließen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker zum Mounten von Volumes für die Bereitstellung von Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen