Heim > Datenbank > MySQL-Tutorial > Wie initialisiere ich eine MySQL-Datenbank mit einem vordefinierten Schema in einem Docker-Container?

Wie initialisiere ich eine MySQL-Datenbank mit einem vordefinierten Schema in einem Docker-Container?

Mary-Kate Olsen
Freigeben: 2024-12-09 06:39:07
Original
295 Leute haben es durchsucht

How to Initialize a MySQL Database with a Predefined Schema in a Docker Container?

Initialisierung einer MySQL-Datenbank mit Schema in Docker

Problem

Docker-Benutzer haben Schwierigkeiten bei der Initialisierung eine MySQL-Datenbank mit einem vordefinierten Schema unter Verwendung einer Docker-Datei. Trotz der Einhaltung der Dokumentationsrichtlinien schlägt der CMD-Befehl zum Ausführen des Schemaskripts fehl und verhindert so eine erfolgreiche Containererstellung.

Lösung

Die Lösung beinhaltet einen sequenziellen Ansatz:

  1. MySQL-Schema in Datei ausgeben:
    Exportieren Sie das Datenbankschema in eine Datei mit mysqldump-Befehl.
  2. Schemadatei zum Docker-Container hinzufügen:
    Verwenden Sie in der Docker-Datei den Befehl ADD, um die Datei schema.sql in die Datei /docker-entrypoint-initdb.d zu kopieren Verzeichnis. Dieses Verzeichnis ermöglicht die automatische Ausführung von Skripten bei der Datenbankinitialisierung.
  3. Docker-MySQL-Instanz starten:
    Initiieren Sie den Docker-Container mit dem angegebenen MySQL-Image und der aktualisierten Docker-Datei.

Beispiel Dockerfile:

FROM mysql:5.7.15

MAINTAINER me

ENV MYSQL_DATABASE=<schema_name> \
    MYSQL_ROOT_PASSWORD=<password>

ADD schema.sql /docker-entrypoint-initdb.d

EXPOSE 3306
Nach dem Login kopieren

Zusätzliche Hinweise:

  • Das Skript docker-entrypoint.sh führt automatisch alle Dateien mit einer „.sql“ aus. Erweiterung im Verzeichnis /docker-entrypoint-initdb.d.
  • Diese Methode ermöglicht die Initialisierung einer MySQL-Datenbank mit einem Schema bei der Containererstellung, sodass kein manueller Eingriff erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie initialisiere ich eine MySQL-Datenbank mit einem vordefinierten Schema in einem Docker-Container?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage