So führen Sie MySQL mit Docker-Compose aus

So führen Sie MySQL mit Docker-Compose aus

Verzeichnisstruktur

.
│ .env
│ docker-compose.yml
│
└─mysql
 ├─Konfiguration
 │ meine.cnf
 │
 └─Daten

Das Datenverzeichnis unter dem MySQL-Verzeichnis ist das Datenverzeichnis, in dem sich die MySQL-Datentabellen und Binärprotokolldateien befinden. Die .env-Datei enthält einige Variablen, auf die in der Datei docker-compose.yml mit ${variable_name} verwiesen werden kann.

Natürlich können Sie das MySQL-Verzeichnis auch woanders ablegen, aber hier habe ich es der Einfachheit halber direkt in dasselbe Verzeichnis wie die YML-Datei gelegt.

.env-Datei

MYSQL_ROOT_PASSWORD=Wurzel
MYSQL_ROOT_HOST=%
MYSQL_DIR=./mysql

MySQL-Konfigurationsdatei my.cnf

[mysqld]
Zeichensatzserver = utf8mb4
Standardzeitzone = '+8:00'
innodb_rollback_on_timeout='EIN'
max_verbindungen=500
innodb_lock_wait_timeout=500

Bei Verwendung der Standardkonfiguration kann diese Datei weggelassen werden.

docker-compose.yml

Version: '3'

Leistungen:

 MySQL-Datenbank:
 container_name: mysql-docker # Geben Sie den Namen des Container-Image an: mysql:8.0 # Geben Sie das Image und die Versionsports an:
 - „3306:3306“
 Umfeld:
 MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
 MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST}
 Bände:
 - "${MYSQL_DIR}/data:/var/lib/mysql" #Datenverzeichnis mounten - "${MYSQL_DIR}/config:/etc/mysql/conf.d" #Konfigurationsdateiverzeichnis mounten

Umgebungsvariablen

  • MYSQL_ROOT_PASSWORD: Dies ist selbsterklärend, das Passwort des Root-Benutzers.
  • MYSQL_USER, MYSQL_PASSWORD: Diese beiden Variablen sind optional und erstellen einen neuen Benutzer mit Superuser-Berechtigungen für die durch die Variable MYSQL_DATABASE angegebene Datenbank.
  • MYSQL_DATABASE: Gibt eine Datenbank an, die beim Start des Containers erstellt werden soll.
  • MYSQL_ALLOW_EMPTY_PASSWORD: Auf „Ja“ setzen, um dem Root-Benutzer ein leeres Passwort zu erlauben. (Nicht empfohlen)
  • MYSQL_RANDOM_ROOT_PASSWORD: Auf „Ja“ setzen, um beim Starten des Containers ein zufälliges Kennwort für den Root-Benutzer zu generieren. Das Kennwort wird im Standardausgabestream angezeigt (GENERIERTES ROOT-PASSWORT: ………).
  • MYSQL_ONETIME_PASSWORD: bedeutet wörtlich ein Einmalkennwort, das für den Root-Benutzer festgelegt wird. Das Kennwort muss nach der ersten Anmeldung geändert werden (wird nur in den Versionen 5.6 und höher unterstützt).

Ausführen des Containers

Führen Sie es im Verzeichnis docker-compose.yml aus:

> docker-compose up

Um es im Hintergrund auszuführen, verwenden Sie docker-compose up -d .

Stoppen Sie den Container:

> docker-compose down

Wenn es im Vordergrund ausgeführt wird, verwenden Sie zum Stoppen Strg + C. Beide Methoden löschen den Container nach dem Stoppen und beim nächsten Starten muss der Befehl „up“ verwendet werden.

Container stoppen, aber nicht löschen:

> docker-compose stop

Nach dem Anhalten mit dem Stopp-Befehl starten Sie mit dem Start-Befehl neu.

Zusammenfassen

Oben ist die vom Herausgeber vorgestellte Methode zum Ausführen von MySQL mit Docker-Compose. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Docker Compose stellt ein SpringBoot-Projekt bereit, um eine Verbindung zu MySQL herzustellen, und die dabei auftretenden Fallstricke
  • Implementierung eines Docker-Compose-Bereitstellungsprojekts basierend auf MySQL8
  • 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

<<:  So ändern Sie das Datenbankdatenspeicherverzeichnis in MySQL

>>:  Die Komponente vue-cropper realisiert das Zuschneiden und Hochladen von Bildern

Artikel empfehlen

Blog-Design Webdesign-Debüt

Die erste Webseite, die ich entworfen habe, sieht...

VUE + SpringBoot implementiert die Paging-Funktion

Dieser Artikel stellt hauptsächlich vor, wie pagi...

Verwendung von „align-content“ im Zeilenumbruchbereich des Flex-Layouts

1. Das in diesem Artikel implementierte Effektdia...

js, um einen simulierten Einkaufszentrumsfall zu erreichen

Freunde, die HTML-, CSS- und JS-Frontend lernen, ...

So installieren und deinstallieren Sie open-vswitch unter Linux

1. Kompilieren und installieren Sie OVS aus dem Q...

CSS3 erstellt eine Webanimation, um einen springenden Balleffekt zu erzielen

Grundlegende Vorbereitung Für diese Implementieru...

Einführung in semantische XHTML-Tags

Der erste Punkt ist, dass Menschen die Semantik vo...

So überwachen Sie globale Variablen im WeChat-Applet

Ich bin kürzlich bei der Arbeit auf ein Problem g...

Zusammenfassung der 16 XHTML1.0- und HTML-Kompatibilitätsrichtlinien

1. Vermeiden Sie es, die Seite als XML-Typ zu dek...

Detailliertes Beispiel der MySQL curdate()-Funktion

Einführung in die MySQL CURDATE-Funktion Bei Verw...

Eine detaillierte Diskussion der Auswertungsstrategien in JavaScript

Inhaltsverzeichnis Eine Kastanie zum Abdecken Par...