Implementierungsmethode für die Produktion und Bereitstellung von Docker Nginx-Containern

Implementierungsmethode für die Produktion und Bereitstellung von Docker Nginx-Containern

Schnellstart

1. Suchen Sie das Nginx-Image auf Docker Hub

Docker-Suche Nginx

2. Ziehen Sie das offizielle Nginx-Image

Docker-Pull Nginx

3. Suchen Sie den Spiegel mit REPOSITORY als nginx in der lokalen Spiegelliste

Docker-Bilder Nginx

REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
nginx latest 4bb46517cac3 vor 4 Wochen 133MB

4. Der folgende Befehl startet eine Nginx-Containerinstanz mit der Standardkonfiguration im NGINX-Container:

Kopieren Sie den Code wie folgt:
docker run --rm --name nginx-test -p 8080:80 -d nginx

Die Bedeutungen der vier Befehlszeilenparameter dieses Befehls sind wie folgt.

  • --rm: Containerdateien nach Beendigung des Containers automatisch löschen.
  • --name nginx-test: Der Name des Containers ist nginx-test und wird von Ihnen selbst definiert.
  • -p: Ordnen Sie den Port zu, um den lokalen Port 8080 dem Port 80 innerhalb des Containers zuzuordnen
  • -d: Nachdem der Container gestartet wurde, im Hintergrund ausführen
  • Das nginx nach dem Parameter -d ist der Name des zu startenden Container-Images.

5. Zeigen Sie den gestarteten Docker-Container an

Docker-Container PS

CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
acb0e263dff3 nginx "/docker-entrypoint.…" vor 10 Sekunden Aktiv seit 9 Sekunden 0.0.0.0:8080->80/tcp nginx-test

6. Zugriff im Browser. Ich verwende Tencent Cloud Host. Greifen Sie einfach auf die öffentliche IP+Port zu.

Öffnen Sie http://öffentliches Netzwerk IP:8080 im Browser, der Effekt ist wie folgt.

Bereitstellungsdienst

1. Erstellen Sie ein lokales Verzeichnis zum Speichern von Nginx-bezogenen Dateiinformationen.

mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf

In:

  • Das Verzeichnis www: wird dem im Nginx-Container konfigurierten virtuellen Verzeichnis zugeordnet.
  • Protokolle: Das Verzeichnis wird dem Protokollverzeichnis des Nginx-Containers zugeordnet.
  • Die Konfigurationsdateien im Verzeichnis conf: werden den Konfigurationsdateien des Nginx-Containers zugeordnet.

2. Kopieren Sie die Standardkonfigurationsdatei von Nginx im Container in das conf-Verzeichnis unter dem lokalen aktuellen Verzeichnis. Die Container-ID kann in der ersten Spalte der Docker-PS-Befehlseingabe angezeigt werden:

Docker PS

CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
acb0e263dff3 nginx "/docker-entrypoint.…" vor 10 Sekunden Aktiv seit 9 Sekunden 0.0.0.0:8080->80/tcp nginx-test

docker cp acb0e263dff3:/etc/nginx /home/nginx/conf

3. Stoppen Sie diesen Container

Docker-Container stoppen Nginx-Test

Beachten Sie den Befehl zum Aufrufen des Containers: docker exec -it nginx-test /bin/bash

4. Bereitstellungsbefehle

docker run --rm -d -p 8080:80 --name nginx-test-web \
-v /home/nginx/www:/usr/share/nginx/html \
-v /home/nginx/conf/nginx:/etc/nginx \
-v /home/nginx/logs:/var/log/nginx \
nginx

Befehlserklärung:

  • --rm: Containerdateien nach Beendigung des Containers automatisch löschen.
  • -p 8080:80: Ordnen Sie Port 80 des Containers dem Port 8080 des Hosts zu.
  • --name nginx-test-web: Benennen Sie den Container nginx-test-web
  • -v /home/nginx/www:/usr/share/nginx/html: Mounten Sie das von uns erstellte www-Verzeichnis im Container /usr/share/nginx/html.
  • -v /home/nginx/conf/nginx:/etc/nginx: Mounten Sie das von uns selbst erstellte Nginx-Verzeichnis unter „conf“ in der Datei /etc/nginx des Containers.
  • -v /home/nginx/logs:/var/log/nginx: Mounten Sie die von uns selbst erstellten Protokolle im Verzeichnis /var/log/nginx des Containers.

5. Nachdem Sie den obigen Befehl ausgeführt haben, wechseln Sie in das Verzeichnis /home/nginx/www:

cd /home/nginx/www/
vi index.html

<!DOCTYPE html>
<html>
<Kopf>
<meta charset="utf-8">
<title>Nginx-Test !!!</title>
</Kopf>
<Text>
<h1>Mein erster Titel</h1>
<p>Mein erster Absatz. </p>
</body>
</html>

6. Zugriff im Browser

Gib im Browser http://public network ip:8080/ ein, die Ausgabe ist wie folgt. Wenn beim Zugriff ein 403-Fehler auftritt, liegt das vermutlich daran, dass die Datei index.html nicht über ausreichende Berechtigungen verfügt. Setze sie einfach auf 644.

Unterstützt HTTPS, HTTP2

1. Erstellen Sie ein Unterverzeichnis certs im Verzeichnis /home/nginx/conf/nginx

mkidr-Zertifikate

2. Zertifikat generieren

OpenSSL-Anforderung \
-x509 \
-Knoten \
-Tage 365 \
-neuer Schlüssel rsa:2048 \
-keyout beispiel.schlüssel \
-out beispiel.crt

Die Bedeutung der Parameter im obigen Befehl ist wie folgt.

  • req: Verarbeitet eine Zertifikatsignieranforderung.
  • -x509: Erstellen Sie ein selbstsigniertes Zertifikat.
  • -nodes: Überspringen Sie den Schritt zum Festlegen eines Kennworts für das Zertifikat, damit Nginx das Zertifikat direkt öffnen kann.
  • -Tage 365: Das Zertifikat ist ein Jahr gültig.
  • -newkey rsa:2048: Generiert einen neuen privaten Schlüssel mit dem 2048-Bit-RSA-Algorithmus.
  • -keyout: Die neu generierte private Schlüsseldatei ist example.key im aktuellen Verzeichnis.
  • -out: Die neu generierte Zertifikatsdatei ist example.crt im aktuellen Verzeichnis.

Wenn das Verzeichnis erfolgreich erstellt wurde, werden zwei weitere Dateien erstellt: example.key und example.crt.

3.HTTPS-Konfiguration

Erstellen Sie die Datei https.conf im Verzeichnis /home/nginx/conf/nginx/conf.d und schreiben Sie Folgendes:

Server {
  hören Sie 443 SSL http2;
  Servername localhost;

  SSL aktiviert;
  SSL-Zertifikat /etc/nginx/certs/example.crt;
  SSL-Zertifikatsschlüssel /etc/nginx/certs/example.key;

  SSL-Sitzungszeitüberschreitung 5 Min.

  ssl_ciphers HOCH:!aNULL:!MD5;
  SSL-Protokolle SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers ein;

  Standort / {
    root /usr/share/nginx/html;
    Index Index.html Index.htm;
  }
}

4. Bereitstellungsservice

docker run --rm -d -p 8080:80 -p 8081:443 --name nginx-test-web \
-v /home/nginx/www:/usr/share/nginx/html \
-v /home/nginx/conf/nginx:/etc/nginx \
-v /home/nginx/logs:/var/log/nginx \
nginx

5. Schnelltest

http://öffentliches Netzwerk IP:8080/: Zugriff auf http
https://öffentliches Netzwerk IP:8081/: Zugriff auf https

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Docker erstellt eine Nginx+PHP+MySQL-Umgebung und implementiert WordPress-Praxis
  • So stellen Sie nginx mit Docker bereit und ändern die Konfigurationsdatei
  • Docker für Anfänger und detaillierte Schritte zum Bereitstellen von NGINX
  • Docker nginx Beispielmethode zum Bereitstellen mehrerer Projekte
  • Docker-Bereitstellung - Nginx-Implementierungsprozess - Grafik und Text - detaillierte Erläuterung
  • Docker stellt Nginx bereit und konfiguriert Reverse-Proxy
  • Versuchen Sie Docker+Nginx, um die Single-Page-Anwendungsmethode bereitzustellen
  • So stellen Sie Nginx auf Docker bereit

<<:  So erhalten Sie den Maximal- oder Minimalwert einer Zeile in SQL

>>:  Tutorial zu HTML-Tabellen-Tags (12): Rahmenstil-Attribut FRAME

Artikel empfehlen

So importieren Sie Tomcat-Quellcode in Idea

Inhaltsverzeichnis 1. Laden Sie den Tomcat-Code h...

Konzept und Anwendungsbeispiele für die MySQL-Indexkardinalität

Dieser Artikel erläutert anhand von Beispielen da...

Die vernachlässigten Spezialeffekte von META-Tags (Seitenübergangseffekte)

Durch die Verwendung von JS im Webdesign können vi...

Lösung für ungültige obere Ränder von Elementen in Div-Tags

Genau wie der Titel sagt. Die Frage ist sehr merkw...

JS implementiert Städtelisteneffekt basierend auf VUE-Komponente

In diesem Artikelbeispiel wird der spezifische Co...

Wie versteht JS Daten-URLs?

Inhaltsverzeichnis Überblick Erste Schritte mit D...

Linux-Methodenbeispiel zum Anzeigen aller Informationen des Prozesses

Auf dem Server läuft ein Taskprozess. Wenn wir ih...

Schritte zum Wiederherstellen einer einzelnen MySQL-Tabelle

Während ich eine Pause machte, wurde ich durch ei...

JavaScript, um den Effekt des Tab-Leistenwechsels zu erzielen

Registerkartenleiste: Klicken Sie auf verschieden...