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

XHTML-Tags haben ein schließendes Tag

<br />Ursprünglicher Link: http://www.dudo.o...

Implementierung der Docker-Batch-Container-Orchestrierung

Einführung Der Dockerfile-Build-Ausführungsvorgan...

Detaillierte Erklärung zum Anzeigen und Einstellen des SQL-Modus in MySQL

Anzeigen und Einstellen des SQL-Modus in MySQL My...

Detaillierte Erklärung der Vuex-Umgebung

Inhaltsverzeichnis Erstellen Sie eine Vuex-Umgebu...

Prozessdiagramm zur Implementierung der Zabbix WEB-Überwachung

Nehmen Sie als Beispiel die WEB-Schnittstelle von...

Tiefgreifendes Verständnis mathematischer Ausdrücke in CSS calc()

Der mathematische Ausdruck calc() ist eine Funkti...

Einführung in semantische XHTML-Tags

Der erste Punkt ist, dass Menschen die Semantik vo...

So installieren Sie Redis5.0.3 im Docker

1. Ziehen Sie das offizielle 5.0.3-Image [root@lo...

So migrieren Sie SQLite zu einem MySQL-Skript

Ohne weitere Umschweife werde ich den Code direkt...

Vue-Anfängerhandbuch: Erstellen des ersten Vue-cli-Scaffolding-Programms

1. Vue – Das erste Vue-CLI-Programm Die Entwicklu...

So beheben Sie den PyCurl-Fehler unter Linux

Lösung für „Curl-config konnte nicht ausgeführt w...