Implementierung eines Docker-Compose-Bereitstellungsprojekts basierend auf MySQL8

Implementierung eines Docker-Compose-Bereitstellungsprojekts basierend auf MySQL8

1. Erstellen Sie zunächst den entsprechenden Ordner gemäß dem folgenden Pfad

/usr/lokal/docker/mysql

2. Erstellen Sie dann eine docker-compose.yml-Datei in diesem Verzeichnis und fügen Sie der Datei die folgende Konfiguration hinzu

Version: '3.1'
Leistungen:
 db:
  Bild: MySQL
  Neustart: immer
  Umfeld:
   MYSQL_ROOT_PASSWORD: 123456
  Befehl:
   --default-authentication-plugin=mysql_native_password
   --character-set-server=utf8mb4
   --collation-server=utf8mb4_general_ci
   --explicit_defaults_for_timestamp=true
   --lower_case_table_names=1
   --max_allowed_packet=128M;
  Häfen:
   -3306:3306
  Bände:
   - ./data:/var/lib/mysql

 Administrator:
  Bild: Adminer
  Neustart: immer
  Häfen:
   8080: 8080

3. Erstellen Sie den entsprechenden Ordner gemäß folgendem Pfad

/usr/lokal/docker/tomcat

4. Erstellen Sie im Verzeichnis des Ordners eine Datei docker-compose.yml und geben Sie die relevanten Konfigurationsinformationen ein (da der Port 8080 des oben genannten Hostcomputers belegt ist, können Sie ihn hier nur auf einen anderen Port ändern).

Version: '3.1'
Leistungen:
 Kater:
  Neustart: immer
  Bild: Kater
  Containername: Tomcat
  Häfen:
   -8082:8080
  Bände:
   – /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT
  Umfeld:
   TZ: Asien/Shanghai

Hinweis: Wenn die erstellten Verzeichnisse unterschiedlich sind, können die entsprechenden Verzeichnisse /usr/local/docker/tomcat oben nicht identisch sein

5. Wenn der Start fehlschlägt, können Sie es direkt mit dem Startbefehl versuchen

docker run -p 8082:8080 Image-ID oder Image-Name

6. Laden Sie das Projekt in dasselbe Verzeichnis wie Tomcat hoch, entpacken Sie es und führen Sie es aus, um die Bereitstellung zu erreichen

veranschaulichen:

Ein Container kann ein Projekt bereitstellen. Ist das nicht seltsam? Wenn ich drei Anwendungen auf demselben Server bereitstelle, eine Front-End-Benutzeroberfläche, einen Back-End-Administrator und eine MySQL-Datenbank, muss das Back-End die Front-End-Daten verwalten, und ihre Docker-Compose-Konfigurationsdateien lauten wie folgt

Admin-Pfad: /usr/local/docker/tomcat

Version: '3.1'
Leistungen:
 Kater:
  Neustart: immer
  Bild: Kater
  Containername: Tomcat
  Häfen:
   -8082:8080
  Bände:
   – /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT
  Umfeld:
   TZ: Asien/Shanghai

Benutzeroberfläche: /usr/local/docker/tomcat_ui

Version: '3.1'
Leistungen:
 Kater:
  Neustart: immer
  Bild: Kater
  Containername: Tomcatui
  Häfen:
   -8083:8080
  Bände:
   – /usr/local/docker/tomcat_ui:/usr/local/tomcat/webapps/ROOT
  Umfeld:
   TZ: Asien/Shanghai~

MySQL-Pfad: /usr/local/docker/mysql

Konfiguration von docekr-compose

Version: '3.1'
Leistungen:
 db:
  Bild: MySQL
  Neustart: immer
  Umfeld:
   MYSQL_ROOT_PASSWORD: 123456
  Befehl:
   --default-authentication-plugin=mysql_native_password
   --character-set-server=utf8mb4
   --collation-server=utf8mb4_general_ci
   --explicit_defaults_for_timestamp=true
   --lower_case_table_names=1
  Häfen:
   -3306:3306
  Bände:
   - ./data:/var/lib/mysql

 Administrator:
  Bild: Adminer
  Neustart: immer
  Häfen:
   8080: 8080

Wie verwaltet das Backend die Frontend-Daten? Tatsächlich hängt es von dem von Ihnen bereitgestellten Projekt ab. Im Projekt gibt es eine Datenverbindungskonfiguration wie folgt

JDBC
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.Benutzername=root
jdbc.password=123456
# JDBC-Pool
jdbc.pool.init=1
jdbc.pool.minIdle=3
jdbc.pool.maxActive=20
JDBC-Test
jdbc.testSql=Wählen Sie 'x' aus DUAL

Dann ist die hier konfigurierte jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false der Schlüssel. Tatsächlich wird die Datenverwaltung über diese IP durchgeführt. Diese IP ist die von MySQL bereitgestellte Server-IP. Daher verweist die Verbindungskonfiguration des bereitgestellten Projekts auf diese IP, sodass der Hintergrund die Daten dieser Datenbank abrufen und die Front-End-Daten direkt verwalten kann. Darüber hinaus können Datenbank-Visualisierungsschnittstellen wie Navicat und SQLyog die Daten in der Serverdatenbank problemlos mithilfe der von der Datenbank bereitgestellten IP verwalten, beispielsweise der oben genannten IP.

Wenn Sie einen Dienst stoppen müssen, können Sie docker-compose down im entsprechenden Ordner des Dienstes und im Verzeichnis auf derselben Ebene wie docker-compose verwenden, um den Dienst direkt zu stoppen.

Dies ist das Ende dieses Artikels über die Implementierung von Docker-Compose basierend auf einem MySQL8-Bereitstellungsprojekt. Weitere relevante Inhalte zur Docker-Compose-Bereitstellung von MySQL8 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Docker Compose stellt ein SpringBoot-Projekt bereit, um eine Verbindung zu MySQL herzustellen, und die dabei auftretenden Fallstricke
  • So führen Sie MySQL mit Docker-Compose aus
  • Verwenden Sie Dockercompose, um eine Springboot-MySQL-Nginx-Anwendung zu erstellen
  • Eine kurze Analyse des Problems, dass MySQL bei der Bereitstellung mit Docker-Compose nicht zugänglich ist
  • So erstellen Sie ein Elk-System mit Docker Compose
  • Detaillierter Prozess zum Erstellen von MongoDB und MySQL mit Docker-Compose

<<:  Lösung für das Problem, dass die Seite leer ist, wenn die Seite mit der Quelldatei in IE7 geöffnet wird

>>:  Lassen Sie uns über das Problem der Parameterübergabe an React onClick sprechen

Artikel empfehlen

Über 40 schöne Beispiele für Webformular-Designs

Webformulare sind der primäre Kommunikationskanal...

Erfahren Sie, wie Sie Vue3 Reactivity implementieren

Inhaltsverzeichnis Vorwort Start Ein kleiner Geda...

Die Verwendung von FrameLayout in sechs Layouts

Vorwort In der letzten Ausgabe haben wir Ihnen Li...

Wie wird eine SQL-Anweisung in MySQL ausgeführt?

Inhaltsverzeichnis 1. Analyse der MySQL-Architekt...

So ändern Sie das Root-Benutzerkennwort in MySQL 8.0.16, WinX64 und Linux

Grundlegende Vorgänge wie die Verbindung zur Date...

js implementiert das Popup-Anmeldefeld durch Klicken auf das Popup-Fenster

In diesem Artikel wird der spezifische Code von j...

Zusammenfassung der Wissenspunkte zu den Linux-Befehlen ps und pstree

Der ps-Befehl in Linux ist die Abkürzung für „Pro...

Zabbix3.4-Methode zum Überwachen des MongoDB-Datenbankstatus

Mongodb verfügt über einen Befehl db.serverStatus...

6 ungewöhnliche HTML-Tags

Zuerst: <abbr> oder <acronym> Diese be...

Detailliertes Tutorial zur Tomcat-Installation und -Bereitstellung in Windows 10

Inhaltsverzeichnis 1 Konfiguration der Java-Umgeb...