Docker nginx Beispielmethode zum Bereitstellen mehrerer Projekte

Docker nginx Beispielmethode zum Bereitstellen mehrerer Projekte

Voraussetzungen

1. Docker wurde auf dem lokalen Computer und Server installiert. Bitte googeln Sie die Download-Methode.

2. Sie haben bereits ein Konto bei Docker Hub? Registrieren Sie sich unter: https://hub.docker.com/

3. Sie müssen mit Docker vertraut sein und einige Anweisungen in Dockerfile verstehen

Verwenden von Dockerfile zum Erstellen eines Images

Wenn auf dieser Maschine ein Projekt mit dem Namen „Web“ läuft,

Erstellen Sie ein neues Dockerfile im Web-Stammverzeichnis und schreiben Sie den folgenden Inhalt

VON nginx:1.13.6-alpine
LABEL-Betreuer="lilywang <[email protected]>"

ARG TZ="Asien/Shanghai"

ENV TZ ${TZ}

Führen Sie den Befehl „apk upgrade --update \“ aus.
 && apk bash tzdata hinzufügen \
 && ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \
 && echo ${TZ} > /etc/Zeitzone \
 && rm -rf /var/cache/apk/*

KOPIEREN Sie dist /usr/share/nginx/html 

CMD ["nginx", "-g", "Daemon aus;"]

Derzeit sieht die Dateistruktur im Web wie folgt aus:

.
|____Dockerdatei
|____dist // Für das Projekt gepackte Dateien| |____index.html

Als nächstes geben Sie das Webverzeichnis in bash ein

CD-Web

Docker-Build -t lilywang711/web.

Wenn in den gedruckten Informationen Folgendes angezeigt wird, bedeutet dies, dass das Image erfolgreich erstellt wurde.

Erfolgreich erstellt 4c050212ce0d
Erfolgreich getaggt mit lilywang711/web:latest

Sie können auch docker images eingeben, um die aktuelle Imageliste anzuzeigen

Geben Sie als Nächstes den Befehl docker push lilywang711/web ein, um das gerade erstellte Image auf den Docker-Hub hochzuladen, damit wir das Image später auf den Server abrufen können.

Wenn mehrere Projekte bereitgestellt werden sollen, wiederholen Sie einfach die obigen Schritte und erstellen Sie so viele Images, wie Projekte vorhanden sind.

Serverbereitstellung

Melden Sie sich über SSH beim Server an, erstellen Sie einen neuen Nginx-Ordner im aktuellen Benutzerverzeichnis (mein Verzeichnis ist root) und erstellen Sie darin nginx.conf
Schreiben Sie Folgendes in nginx.conf

Benutzer nginx;
Arbeiterprozesse 2;
Fehlerprotokoll /var/log/nginx/error.log warnen;
pid /var/run/nginx.pid;
Ereignisse {
 verwenden Sie epoll;
 Arbeiterverbindungen 2048;
}
http {
 /etc/nginx/mime.types einschließen;
 # /etc/nginx/conf.d/*.conf einschließen;
 root /usr/share/nginx/html;
 Index Index.html Index.htm;
 Server {
  hören Sie 80;
  Servername a.IhreDomäne.cn;
  Standort / {
  }
 }
 Server {
  hören Sie 80;
  Servername b.IhreDomäne.cn;
  Standort / {
   Proxy-Passwort http://Ihre_VPS-IP:81;
  }
 }
 Server {
  hören Sie 80;
  Servername localhost;
  Standort / {
  }
 }
}

Nächste Schritte

Starten Sie Docker systemctl start docker

Ziehen Sie die beiden gerade erstellten und hochgeladenen Bilder

docker pull lilywang711/web

docker pull lilywang711/web1

Geben Sie den folgenden Befehl ein, um den Container zu starten

docker run -itd --name web -p 80:80 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf lilywang711/web
// -i führt den Container im interaktiven Modus aus, -t weist dem Container ein Pseudoterminal zu, -d führt den Container im Hintergrund aus, Sie können direkt -itd schreiben
// --name gibt dem Container einen Namen namens „Web“ zur einfachen Identifizierung. // -p bindet den lokalen Port 80 an den Container-Port 80.
// -v deklariert das Volume, was bedeutet, dass /etc/nginx/nginx.conf im Container in /root/nginx/nginx.conf im Host gemountet wird. Um nginx in Zukunft zu konfigurieren, müssen Sie nur /root/nginx/nginx.conf ändern

Dasselbe gilt für ein anderes lilywang711/web1-Bild. Ändern Sie einfach den Port und den Namen.

docker run -itd --name web1 -p 81:80 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf lilywang711/web1

Geben Sie an dieser Stelle docker ps ein und Sie sehen, dass die beiden Container bereits ausgeführt werden.

Das Dockerisieren des Projekts und die Bereitstellung in nginx sind abgeschlossen

Geben Sie http://a.yourdomain.cn und http://b.yourdomain.cn in den Browser ein, um den Effekt zu sehen, der jeweils den Web- und Web1-Projekten auf dem lokalen Computer entspricht.

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-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
  • Implementierungsmethode für die Produktion und Bereitstellung von Docker Nginx-Containern
  • So stellen Sie Nginx auf Docker bereit

<<:  Detaillierte Erläuterung der 8 Möglichkeiten zum Übergeben von Parametern in Vue-Routing-Komponenten

>>:  Installieren Sie zwei MySQL5.6.35-Datenbanken unter Win10

Artikel empfehlen

Detaillierte Erläuterung des MySQL-Clusterindex und des Nicht-Clusterindex

1. Clustered-Index Tabellendaten werden in der Re...

Vollständiges Beispiel der Kapselung der globalen Toast-Komponente durch Vue

Inhaltsverzeichnis Vorwort 1. Mit vue-cli 1. Defi...

Oberflächliches Webdesign

<br />Ich war schon immer der Meinung, dass ...

Detailliertes Beispiel des MySQL InnoDB-Sperrmechanismus

1. InnoDB-Sperrmechanismus Die InnoDB-Speicher-En...

Detaillierte Erklärung von mktemp, einem grundlegenden Linux-Befehl

mktemp Erstellen Sie auf sichere Weise temporäre ...

Vue-Anfängerhandbuch: Umgebungserstellung und Erste Schritte

Inhaltsverzeichnis Erster Blick Erstellen einer V...

Vue implementiert Mehrfachauswahl im unteren Popup-Fenster

In diesem Artikelbeispiel wird der spezifische Co...

Das Problem der Verwendung von Slots durch Vue+tsx wird nicht behoben

Inhaltsverzeichnis Vorwort Finden Sie das Problem...

Grafisches Tutorial zur Installation von MySQL 5.5 unter Win7

Die MySQL-Installation ist relativ einfach. Norma...

MySQL verwendet UNIQUE, um das Einfügen nicht doppelter Daten zu implementieren

SQL UNIQUE-Einschränkung Die UNIQUE-Einschränkung...