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
|