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

Implementierung der Multi-Port-Zuordnung des Nginx-Reverse-Proxys

Code Erklärung 1.1 http:www.baidu.test.com verwen...

Architektur und Komponentenbeschreibung der privaten Docker-Bibliothek Harbor

In diesem Artikel wird die Zusammensetzung der Ha...

Installationsschritte der Ubuntu 20.04-Doppelpinyin-Eingabemethode

1. Chinesische Eingabemethode einrichten 2. Stell...

So überwachen Sie Array-Änderungen in JavaScript

Vorwort Als ich zuvor „defineProperty“ vorgestell...

Detaillierter Prozess zum Erstellen von MongoDB und MySQL mit Docker-Compose

Schauen wir uns die detaillierte Methode zum Erst...

CSS3-Randeffekte

Was ist CSS? CSS (Abkürzung für Cascading Style S...

Vue-Elternkomponente ruft Funktionsimplementierung der Unterkomponente auf

Die übergeordnete Vue-Komponente ruft die Funktio...

Detaillierte Einführung in das CSS-Prioritätswissen

Bevor wir über die CSS-Priorität sprechen, müssen...

Detailliertes Tutorial zur Installation von MySQL 8 in CentOS 7

Vorbereiten Umweltinformationen zu diesem Artikel...

Zusammenfassung der bei der Arbeit häufig verwendeten Linux-Befehle

Verwenden Sie bei der Arbeit mehr Open-Source-Too...

Natives JS zum Erzielen von Verzeichnis-Scrolleffekten

Hier ist ein Text-Scrolling-Effekt, der mit nativ...

Detaillierte Erklärung des Grid-Layouts und des Flex-Layouts der Anzeige in CSS3

Das Gitterlayout weist einige Ähnlichkeiten mit d...

Regeln für die Verwendung gemeinsamer MySQL-Indizes

Ein gemeinsamer Index wird auch als zusammengeset...