Docker-Bereitstellung - Nginx-Implementierungsprozess - Grafik und Text - detaillierte Erläuterung

Docker-Bereitstellung - Nginx-Implementierungsprozess - Grafik und Text - detaillierte Erläuterung

1. Laden Sie nginx herunter

[root@localhost my.Shells]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
docker.io/redis latest 1e70071f4af4 vor 6 Wochen 106,7 MB
[root@localhost my.Shells]# docker pull nginx //Nginx herunterladen
Standard-Tag verwenden: latest
Es wird versucht, das Repository docker.io/library/nginx abzurufen ... 
aktuell: Abrufen von docker.io/library/nginx
e7bb522d92ff: Ziehen abgeschlossen 
6edc05228666: Ziehen abgeschlossen 
cd866a17e81f: Ziehen abgeschlossen 
Zusammenfassung: sha256:285b49d42c703fdf257d1e2422765c4ba9d3e37768d6ea83d7fe2043dad6e63d
[root@localhost my.Shells]# Docker-Bilder
REPOSITORY TAG BILD ID ERSTELLT GRÖSSE
docker.io/nginx latest 3f8a4339aadd vor 3 Wochen 108,5 MB
docker.io/redis latest 1e70071f4af4 vor 6 Wochen 106,7 MB

2. Führen Sie nginx aus

[root@localhost my.Shells]# docker run -p 8080:80 -d docker.io/nginx //Mappe Port 80 auf 8080 oder 80:80 oder den ursprünglichen Port 80. Er kann nicht weggelassen werden.
c0462d5e18783e20f9515108fa62ab0f2ac808ea85370a7c82aee9407abf4672
[root@localhost my.Shells]# netstat -anp | grep 8080 //Port tcp6 ist aktiviert 0 0 :::8080 :::* LISTEN 2529/docker-proxy-c 
[root@localhost my.Shells]# docker ps //nginx läuft bereits CONTAINER ID IMAGE BEFEHL ERSTELLT STATUS PORTS NAMEN
c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" vor 4 Minuten Aktiv 4 Minuten 0.0.0.0:8080->80/tcp angry_mccarthy

3. Operationsergebnisse

[root@localhost my.Shells]# ./openFirewallPort.sh //Öffnen Sie einen Port auf der Firewall. Geben Sie zuerst den Port ein: 
Erfolg

---openFirewallPort.sh-------

 echo "Geben Sie den Port ein: "
 Leseport
 Firewall-Befehl --add-port=$port/tcp

#Das folgende Bild wurde erfolgreich aufgerufen 

Beachten:

Wenn Docker Nginx ausführt, erfolgt der externe Zugriff weiterhin über die IP-Adresse, unter der sich Docker befindet. Dies entspricht der Ausführung von Nginx auf diesem Computer.

Aber für die Maschine, auf der sich Docker befindet, ist nginx ein an Docker angehängtes Image. Wenn Sie nginx betreiben möchten, können Sie sich über Docker beim nginx-Container anmelden und den Vorgang ausführen.

Der angemeldete Nginx-Container ist ein Linux-System, verfügt jedoch nur über Nginx, das gemäß dem Linux-Standardpfad installiert ist. Zum Beispiel
root@c0462d5e1878:/usr/share/nginx/html# ls Dieser Pfad ist der Standardpfad zum Speichern statischer Seiten
50x.html index.html

Die Bash-Befehle sind dieselben, aber vi kann auf meinem Computer nicht verwendet werden. Befehle wie cp und mv können jedoch verwendet werden, da nginx konfiguriert ist und nicht geändert werden kann.

1) Bevor Sie sich beim nignx-Container anmelden, können Sie die erforderlichen Dateien schreiben und in das angegebene Verzeichnis kopieren:

[root@localhost meine.Shells]# docker cp hallo.html c0462d5e1878://usr/share/nginx/html
[root@localhost meine.Shells]# docker exec -it c0462d5e1878 bash
root@c0462d5e1878:/usr/share/nginx/html# ls
50x.html hallo.html index.html

2) Zuordnung zum Container über das Hostverzeichnis

docker run -p 80:80 -d -v $PWD/html:usr/share/nginx/html docker.io/nginx
-v $PWD/html:usr/share/nginx/html bedeutet, dass das HTML-Verzeichnis im aktuellen Pfad auf usr/share/nginx/html abgebildet wird.

Das heißt, das HTML unter dem Host ist usr/share/nginx/html unter dem Container

Das Ändern und Hinzufügen von Dateien in HTML entspricht Dateivorgängen im Container usr/share/nginx/html

Der Zugriff erfolgt über das externe Netzwerk, sodass Sie sich nicht beim Container anmelden müssen, um die Datei zu bedienen.

4. Beenden Sie den Dienst

[root@localhost meine.Shells]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" vor 56 Minuten Aktiv 56 Minuten 0.0.0.0:8080->80/tcp angry_mccarthy
[root@localhost meine.Shells]# docker stop c0462d5e1878 
c0462d5e1878
[root@localhost meine.Shells]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN

5. Starten Sie den Dienst neu

[root@localhost meine.Shells]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
[root@localhost meine.Shells]# docker start c0462d5e1878 
c0462d5e1878
[root@localhost meine.Shells]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
c0462d5e1878 docker.io/nginx „nginx -g 'daemon off' vor 59 Minuten Aktiv 12 Sekunden 0.0.0.0:8080->80/tcp angry_mccarthy

6. Öffnen Sie denselben Dienst erneut

[root@localhost meine.Shells]# docker run -p 8081:80 -d docker.io/nginx 
//Öffne einen anderen Dienst, Port ist 8081
1fd8a0b5d138203150f1cdbfb9690235159159881785a4654abb04c7c96c5b18
[root@localhost my.Shells]# docker ps //Es wird zwei Prozesse geben, einen auf 8080 und einen auf 8081
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
1fd8a0b5d138 docker.io/nginx "nginx -g 'daemon off" vor 4 Sekunden Aktiv seit 3 ​​Sekunden 0.0.0.0:8081->80/tcp suspect_hypatia
c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" Vor etwa einer Stunde Vor 4 Minuten aktiv 0.0.0.0:8080->80/tcp angry_mccarthy 

Das obige Bild greift auf den neu gestarteten Dienst 8081 zu. Hinweis: Der neu gestartete Dienst und der ursprüngliche Dienst sind zwei Container. Das ursprüngliche hello.html befindet sich nicht im neuen Dienst.

7. Dienst deinstallieren

[root@localhost my.Shells]# docker ps //Sowohl 8080 als auch 8081 laufen CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1fd8a0b5d138 docker.io/nginx "nginx -g 'daemon off" vor 4 Minuten Aktiv 4 Minuten 0.0.0.0:8081->80/tcp suspect_hypatia
c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" Vor etwa einer Stunde Vor 8 Minuten aktiv 0.0.0.0:8080->80/tcp angry_mccarthy
[root@localhost meine.Shells]# docker stop 1fd8a0b5d138 //Stopp 8081
1fd8a0b5d138
[root@localhost my.Shells]# docker ps //Nur 8080 läuft noch CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMEN
c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" Vor etwa einer Stunde Aktiv 9 Minuten 0.0.0.0:8080->80/tcp angry_mccarthy
[root@localhost my.Shells]# docker ps -a //Sie können sehen, dass 8080 läuft und 8081 beendet wurde
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
1fd8a0b5d138 docker.io/nginx "nginx -g 'daemon off" vor 5 Minuten Beendet (0) vor 7 Sekunden suspect_hypatia
c0462d5e1878 docker.io/nginx "nginx -g 'daemon off" Vor etwa einer Stunde Aktiv 9 Minuten 0.0.0.0:8080->80/tcp angry_mccarthy
[root@localhost meine.Shells]# 

[root@localhost my.Shells]# docker rm 1fd8a0b5d138 //Entfernen Sie diesen Prozess. Beachten Sie, dass der laufende Prozess nicht rm sein kann, also stoppen Sie ihn zuerst
1fd8a0b5d138

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 stellt Nginx bereit und konfiguriert Reverse-Proxy
  • Versuchen Sie Docker+Nginx, um die Single-Page-Anwendungsmethode bereitzustellen
  • Implementierungsmethode für die Produktion und Bereitstellung von Docker Nginx-Containern
  • So stellen Sie Nginx auf Docker bereit

<<:  Detaillierte Erläuterung der Idee zum Einrichten einer Abfangfunktion für die Anmeldeüberprüfung in Vue

>>:  Einführung in HTML_PowerNode Java Academy

Artikel empfehlen

Detaillierte Erläuterung des MySql-Beispiels für automatische Kürzung

Detaillierte Erläuterung des MySql-Beispiels für ...

Details zur Verwendung von JS-Array-Methoden some, every und find

Inhaltsverzeichnis 1. einige 2. jedes 3. finden 1...

Detaillierte Erläuterung der Hosts-Dateikonfiguration auf einem Linux-Server

Konfiguration der Hostdatei des Linux-Servers Die...

Docker-Datenverwaltung und Netzwerkkommunikationsnutzung

Sie können Docker installieren und einfache Vorgä...

Installieren Sie mehrere PHP-Versionen für Nginx unter Linux

Wenn wir die LNPM-Serverumgebung installieren und...

Der Browser der Betaversion IE9 unterstützt HTML5/CSS3

Manche Leute sagen, dass IE9 die zweite Revolutio...

So löschen Sie Junk-Dateien elegant in Linux

Ich frage mich, ob Sie wie ich ein Programmierer ...

uni-app implementiert NFC-Lesefunktion

In diesem Artikel wird der spezifische Code der U...

Verwendung des Docker-Systembefehlssatzes

Inhaltsverzeichnis Docker-System df Docker-System...