Analyse des Prozesses der einfachen Bereitstellung von Nginx im Docker-Container

Analyse des Prozesses der einfachen Bereitstellung von Nginx im Docker-Container

1. Stellen Sie den Nginx-Dienst im Container bereit

Das centos:7-Image führt einen Container aus und stellt den Nginx-Dienst in diesem Container bereit.

[root@Docker ~]# docker pull centos:7 //Laden Sie das Image herunter
[root@Docker ~]# docker run -itd --name webapp --restart=always centos:7 //Führen Sie einen Container mit dem Namen aus: webapp
[root@Docker ~]# docker cp nginx-1.16.0.tar.gz webapp:/root //Importiere das lokale nginx-Paket in den Webapp-Container
[root@Docker ~]# docker exec -it webapp /bin/bash //Geben Sie den Container ein
[root@85099880dabe ~]# tar zxf nginx-1.16.0.tar.gz
[root@85099880dabe ~]# cd nginx-1.16.0
[root@85099880dabe nginx-1.16.0]# yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel //Zugehörige Abhängigkeitspakete herunterladen
[root@85099880dabe nginx-1.16.0]# useradd -M -s /sbin/nologin nginx //Fügen Sie einen Nginx-Benutzer ohne Anmeldeberechtigung hinzu
[root@85099880dabe nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx //Kompilieren und installieren

[root@85099880dabe nginx-1.16.0]# make && make install //Kompilieren und installieren
[root@85099880dabe nginx-1.16.0]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ //Erstelle einen Softlink
[root@85099880dabe nginx-1.16.0]# nginx
[root@85099880dabe nginx-1.16.0]# nginx //Bestätigen Sie, dass der Nginx-Dienst aktiviert ist
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
[root@85099880dabe nginx-1.16.0]# cd /usr/local/nginx/html/
[root@85099880dabe html]# echo "TEST WEB" > index.html
[root@85099880dabe html]# curl 127.0.0.1
TESTWEB

2. Migrieren des Images

Erforderliche Umgebung:

Docker1-Host: 192.168.45.129

Docker2-Host: 192.168.45.134

1) Docker1-Host

Importieren Sie den neu erstellten Container von Docker1 in den Docker2-Host.

[root@Docker ~]# docker commit webapp myweb //Mach den Webapp-Container zu einem Spiegel mit dem Namen myweb
sha256:b035b8e8a36140e1bdbda9cf3a736b139ea8a48db7871a10f509b8f34d4c0f82
[root@Docker ~]# docker save > myweb.tar myweb:latest //Exportiere das Image
[root@Docker ~]# scp myweb.tar 192.168.45.134:/root //cp das exportierte Tarball zum Docker2-Host
Die Authentizität des Hosts „192.168.45.134 (192.168.45.134)“ kann nicht festgestellt werden.
Der ECDSA-Schlüsselfingerabdruck lautet d7:77:71:90:34:25:c0:ec:e0:b6:5c:cc:6b:44:93:7b.
Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? ja
Warnung: „192.168.45.134“ (ECDSA) wurde dauerhaft zur Liste der bekannten Hosts hinzugefügt.
[email protected]'s password: //Das Passwort ist das Passwort des Docker2-Hosts
myweb.tar 100 % 353 MB 176,4 MB/s 00:02

2) Docker2-Host

[root@Docker2 ~]# docker load < myweb.tar //Das Tar-Paket einfach per cp in einen Spiegel kopieren
[root@Docker2 ~]# docker run -itd --name newweb myweb:latest //Starte einen Container
[root@Docker2 ~]# docker exec -it newweb /bin/bash //Geben Sie den Container ein
[root@4e419b580248 /]# nginx
[root@4e419b580248 /]# nginx //Bestätigen Sie, dass der Nginx-Dienst gestartet wurde
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() zu 0.0.0.0:80 fehlgeschlagen (98: Adresse wird bereits verwendet)
nginx: [emerg] bind() konnte immer noch nicht ausgeführt werden
[root@4e419b580248 /]# curl 127.0.0.1
TESTWEB

Hinweis: Hier können wir sehen, dass die im Docker1-Hostcontainer erstellte einfache Nginx-Umgebung erfolgreich als Spiegel auf den Docker2-Host migriert wurde.

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:
  • Implementierungsmethode für die Produktion und Bereitstellung von Docker Nginx-Containern
  • Analyse des Prozesses der einfachen Bereitstellung von Nginx im Docker-Container
  • Versuch der Bereitstellung von Docker-Containern – Kommunikation mit mehreren Containern (Node+MongoDB+Nginx)
  • Docker-Bereitstellung - Nginx-Implementierungsprozess - Grafik und Text - detaillierte Erläuterung
  • So stellen Sie ein Vue-Projekt mit Docker-Image + nginx bereit
  • Implementierung der Docker-Bereitstellung von Django+Mysql+Redis+Gunicorn+Nginx
  • So stellen Sie nginx mit Docker bereit und ändern die Konfigurationsdatei

<<:  Beheben Sie das Problem, dass die MySQL-Datenbank unerwartet abstürzt, wodurch die Tabellendatendatei beschädigt wird und nicht gestartet werden kann

>>:  5 Möglichkeiten, Ihre JavaScript-Codebasis sauberer zu machen

Artikel empfehlen

Dynamischer Sternenhimmel Hintergrund umgesetzt mit CSS3

Ergebnis:Implementierungscode html <link href=...

CSS 3.0 Text Hover Jump Spezialeffekte-Code

Hier ist ein mit CSS 3.0 implementierter Textschw...

Schritte zum Wiederherstellen einer einzelnen MySQL-Tabelle

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

Einfaches Teilen von Mysql-Backup-BAT-Skripten unter Windows

Vorwort Dieser Artikel stellt ein einfaches BAT-S...

So verwenden Sie die HTML 5 Drag & Drop-API in Vue

Die Drag & Drop-API fügt ziehbare Elemente zu...

JavaScript-Interview: So implementieren Sie die Methode zur Array-Abflachung

Inhaltsverzeichnis 1. Was ist Array-Flattening? 2...

Tiefes Verständnis der JavaScript-Syntax und Codestruktur

Inhaltsverzeichnis Überblick Funktionalität und L...