Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So führen Sie eine Datenbankspiegelung mit Docker durch

So führen Sie eine Datenbankspiegelung mit Docker durch

PHPz
PHPzOriginal
2023-04-26 10:27:391449Durchsuche

Docker ist derzeit die beliebteste Containerisierungstechnologie, die Anwendungen und ihre Abhängigkeiten in einen unabhängigen Container packen und in verschiedenen Umgebungen ausführen kann. Datenbanken sind eine Kernkomponente von Anwendungen, und die Ausführung von Datenbanken in Docker ist ein sehr häufiges Szenario, da es eine bequeme, sichere und wiederholbare Möglichkeit zum Testen, Bereitstellen und Skalieren von Datenbankanwendungen bietet.

Wie erstellt man also ein Datenbank-Image in Docker? Die Schritte zum Erstellen eines MySQL-Datenbankspiegels werden im Folgenden ausführlich beschrieben.

1. Laden Sie das offizielle MySQL-Image herunter

Sie können das MySQL-Image mit dem folgenden Befehl von Docker Hub herunterladen:

docker pull mysql/mysql-server

Obwohl Wir können das offizielle MySQL-Image direkt verwenden, es entspricht jedoch möglicherweise nicht unseren Anforderungen, z. B. Konfigurationsdateien, Initialisierungsskripten, Datensicherung usw. Daher müssen wir ein individuelles Bild erstellen, das auf dem offiziellen Bild basiert und unseren Anforderungen entspricht.

1. Erstellen Sie eine Docker-Datei

Dockerfile ist eine Textdatei, die eine Reihe von Anweisungen zum Erstellen eines Docker-Images enthält. Wir verwenden das offizielle MySQL-Image als Grundlage und erstellen dann ein benutzerdefiniertes Image, indem wir Konfigurationsdateien, Initialisierungsskripte, Datensicherung usw. hinzufügen.

In diesem Beispiel erstellen wir eine Dockerfile-Datei mit folgendem Inhalt:

FROM mysql/mysql-server

# 安装telnet和net-tools
RUN yum update && yum install -y telnet net-tools

# 添加自定义配置文件
ADD my.cnf /etc/mysql/my.cnf

# 添加初始化脚本
ADD init.sql /docker-entrypoint-initdb.d/

# 添加数据备份
ADD backup.sql /tmp/backup.sql

Die Erklärung der obigen Dockerfile-Datei lautet wie folgt:

VON mysql/mysql-server: Verwenden Sie das offizielle MySQL-Image als Basisimage.
  • RUN yum update && yum install -y telnet net-tools: Installieren Sie die Telnet- und Net-Tools-Tools.
  • MY.cnf /etc/mysql/my.cnf HINZUFÜGEN: Fügen Sie die benutzerdefinierte Konfigurationsdatei my.cnf zum Verzeichnis /etc/mysql/ hinzu.
  • Init.sql /docker-entrypoint-initdb.d/ HINZUFÜGEN: Fügen Sie das Initialisierungsskript init.sql zum Verzeichnis /docker-entrypoint-initdb.d/ hinzu.
  • Backup.sql /tmp/backup.sql hinzufügen: Datensicherung backup.sql zum Verzeichnis /tmp/ hinzufügen.
  • 2. Erstellen Sie das Image

In diesem Beispiel haben wir Dockerfile-Dateien, benutzerdefinierte Konfigurationsdateien, Initialisierungsskripte, Datensicherung und andere Ressourcen vorbereitet. Als nächstes müssen Sie den folgenden Befehl in dem Verzeichnis ausführen, in dem sich die Dockerfile-Datei befindet, um das Image zu erstellen:

docker build -t my-mysql:latest .

Unter anderem wird -t zum Benennen des Images verwendet und :latest bedeutet, die neueste Version zu verwenden.

3. Führen Sie den MySQL-Container aus

Nachdem wir erfolgreich ein benutzerdefiniertes MySQL-Image erstellt haben, führen wir das Image im Container aus und weisen dem Container einen Namen zu:

docker run -d -p 3306:3306 --name my-mysql -v /data/mysql:/var/lib/mysql my-mysql

Unter anderem bedeutet -d, dass der Container ausgeführt wird Im Hintergrund ordnet -p den 3306-Port des Containers dem 3306-Port des Hosts zu, -v ordnet das /data/mysql-Verzeichnis des Hosts dem /var/lib/mysql-Verzeichnis des Containers zu und my-mysql stellt den Namen des Containers dar.

Jetzt können wir mit dem MySQL-Client-Tool eine Verbindung zum MySQL-Container herstellen und testen, ob er ordnungsgemäß läuft.

mysql -h 127.0.0.1 -P 3306 -u root -p

4. Fazit

Durch diesen Prozess haben wir gelernt, wie man ein benutzerdefiniertes MySQL-Image in Docker erstellt und das Image ausführt. Dies erleichtert das Testen, Bereitstellen und Skalieren von Datenbankanwendungen. In tatsächlichen Projekten können wir nach Bedarf weitere benutzerdefinierte Konfigurationen und Initialisierungsskripte sowie Sicherungs- und Wiederherstellungsdaten und andere Funktionen hinzufügen.

Das obige ist der detaillierte Inhalt vonSo führen Sie eine Datenbankspiegelung mit Docker durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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