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?
Das Miniprogramm sammelte persönliche Benutzerinf...
Grundlegende Vorbereitung Für diese Implementieru...
Ergebnisse erzielen Implementierungscode html <...
<br />Ein toller Blogbeitrag von PPK vor zwe...
Inhaltsverzeichnis 1. Ergebnisse erzielen 2. Impl...
HTML-zentrierte Front-End-Entwicklung entspricht p...
1.Gerätebreite Definition: Definiert die sichtbar...
In diesem Artikelbeispiel wird der spezifische Ja...
Vorwort Ich wollte schon immer wissen, wie eine S...
Inhaltsverzeichnis React-Native-Projektinitialisi...
So implementieren Sie die Funktionen „Als Startse...
Vue-Methoden und -Eigenschaften 1. Methoden Verwe...
Vorab geschrieben: In den folgenden Schritten müs...
Fehlermeldung: Die Store-Update-, Insert- oder De...
Hintergrund: Während des Entwicklungsprozesses mü...