In tatsächlichen Entwicklungs- oder Produktionsumgebungen werden Container häufig nicht unabhängig voneinander ausgeführt, und häufig müssen mehrere Container zusammen ausgeführt werden. Wenn Sie zu diesem Zeitpunkt weiterhin den Befehl „run“ verwenden, um den Container zu starten, ist dies sehr umständlich. In diesem Fall ist Docker-Compose eine gute Wahl. Docker-Compose kann zur Orchestrierung von Containern verwendet werden. In diesem Artikel wird die Verwendung von Docker-Compose erläutert. Dieser Artikel verwendet die Bereitstellung einer Open-Source-Website wie jpress als Beispiel, um den Lesern die Verwendung von Docker-Compose vorzustellen. jpress ist die Java-Version von WordPress, aber wir müssen nicht auf die Implementierung von jpress achten. Hier müssen wir es nur als normale Anwendung behandeln, um die Bereitstellung des Projekts abzuschließen. Vorbereitung Hierfür benötigen wir insgesamt zwei Container:
Dann benötigen Sie das War-Paket von jpress, War-Paketadresse: jpress Natürlich ist jpress hier nicht erforderlich. Der Leser kann auch andere Java-Projekte auswählen oder entsprechend seiner eigenen Situation eine einfache Java-Projektbereitstellung schreiben. Schreiben einer Docker-Datei Im Tomcat-Container müssen Sie zugehörige War-Dateien herunterladen, deshalb schreibe ich dazu eine Docker-Datei. Erstellen Sie in einem leeren Ordner ein Dockerfile mit folgendem Inhalt:
erklären:
Schreiben Sie docker-compose.yml Schreiben Sie docker-compose.yml in dasselbe Verzeichnis mit dem folgenden Inhalt (die Grundkenntnisse von yml werden hier nicht vorgestellt, die Leser können sich selbst informieren):
erklären:
OK, nach den obigen Schritten ist docker-compose.yml erfolgreich konfiguriert laufen Es gibt mehrere Möglichkeiten, es auszuführen, aber der ultimative Befehl ist „up“. Der Befehl „up“ ist sehr leistungsfähig. Er versucht, automatisch eine Reihe von Vorgängen abzuschließen, darunter das Erstellen von Images, das (Neu-)Erstellen von Diensten, das Starten von Diensten und das Zuordnen von dienstbezogenen Containern. Die meisten Anwendungen können direkt über diesen Befehl gestartet werden. Standardmäßig befinden sich alle Container, die mit docker-compose up gestartet werden, im Vordergrund, und die Konsole druckt die Ausgabeinformationen aller Container gleichzeitig aus, was beim Debuggen sehr praktisch ist. Wenn Sie den Befehl mit Strg-C stoppen, werden alle Container gestoppt. Wenn Sie den Befehl docker-compose up -d verwenden, werden alle Container gestartet und im Hintergrund ausgeführt. Diese Option wird im Allgemeinen für Produktionsumgebungen empfohlen. Wechseln Sie dazu in das Verzeichnis, in dem sich docker-compose.yml befindet und führen Sie den folgenden Befehl aus: docker-compose up -d Die Ausführungsergebnisse sind wie folgt: Nach der Ausführung können Sie sehen, dass der Container über den Befehl „docker-compose ps“ gestartet wurde. Erstkonfiguration Geben Sie als Nächstes http://localhost:8080/jpress in den Browser ein. Anschließend wird die folgende JPress-Konfigurationsseite angezeigt: Konfigurieren Sie die Datenbankverbindungsinformationen und grundlegenden Websiteinformationen gemäß der Anleitungsseite: Hinweis: Da sowohl MySQL als auch Web in Containern ausgeführt werden, kann die Loopback-Adresse beim Konfigurieren der Datenbankadresse nicht geschrieben werden, da sich die Datenbank sonst in dem Container befindet, in dem sich das Web befindet. Führen Sie nach Abschluss der Konfiguration den folgenden Befehl aus, um den Webcontainer neu zu starten: Docker Neustart jpress prüfen Zeigen Sie die Blog-Startseite und die Backend-Verwaltungsseite im Browser an, wie unten dargestellt: andere Wenn Sie den Container stoppen möchten, können Sie den folgenden Befehl ausführen: Docker-Compose nach unten 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:
|
<<: JavaScript zum Erzielen eines einfachen Lupeneffekts
>>: Was tun, wenn der Auto-Increment-Primärschlüssel in MySQL aufgebraucht ist?
Vorwort Dieser Artikel listet mehrere gängige, pr...
Nachdem Sie Docker auf dem Linux-Server installie...
Seit seiner Veröffentlichung im Jahr 2013 wird Do...
1. Was sind die Vorlagen für ASP.NET-Webanwendunge...
Heute hatte ich etwas Freizeit, um eine Website f...
So erhalten Sie den Container-Startbefehl Der Con...
Wie wird ein Textüberlauf angezeigt? Was sind Ihr...
1. Im Web unterstützte Bildformate: GIF: kann 256...
Inhaltsverzeichnis Die Reihenfolge, in der MySQL ...
Wenn wir über den Ausnahmefilter von Nestjs sprec...
Inhaltsverzeichnis 1. querySelector fragt ein ein...
Inhaltsverzeichnis 1. Schloss und Riegel 2. Wiede...
Inhaltsverzeichnis 1. Benutzerdefinierter Import ...
Es gibt viele Gründe, warum eine Anwendung langsa...
Fügen Sie in der Datei /etc/my.conf unter [mysqld...