Beispiel für die Bereitstellung von MySQL auf Docker

Beispiel für die Bereitstellung von MySQL auf Docker

Das Konzept der Container-Cloud erfreut sich derzeit großer Beliebtheit. Viele Unternehmen setzen MySQL mittlerweile auf Containern ein. Bevor wir mit dem heutigen Inhalt beginnen, werfen wir einen Blick auf das Konzept der Container-Cloud.

1 Was ist eine Container-Cloud?

Um das Konzept der Container-Cloud zu verstehen, müssen Sie zunächst Container verstehen. Wenn Sie Container einführen, müssen Sie zum Vergleich virtuelle Maschinen einführen.

Virtuelle Maschine:

VMware oder Virtual BoX, eine virtuelle Maschine, wird von jedem bei der täglichen Arbeit verwendet. Es handelt sich um eine Software, die Computerbetriebssysteme simuliert. Sie können die Virtual BoX-Software auf einem Windows-Computer installieren und dann Linux-Betriebssysteme wie Centos oder Ubuntu auf Virtual Box installieren, sodass Sie mehrere Arten von Betriebssystemen auf einer Maschine ausführen können, was unsere Entwicklungs- und Testarbeit sehr bequem macht.

Der Nachteil virtueller Maschinen besteht darin, dass sie viele Ressourcen verbrauchen. Jede virtuelle Maschine erfordert eine separate Zuweisung von Speicher und Festplattenspeicher und verbraucht außerdem CPU-Ressourcen und viele zugrunde liegende Hardwareressourcen. Wenn Sie nur ein Hallo-Welt-Programm darauf ausführen, führt dies zu einer großen Ressourcenverschwendung.

Container:

Das Aufkommen von Containern soll dieses Problem lösen. Dabei handelt es sich um eine leichtere und flexiblere Virtualisierungsverarbeitungstechnologie, die alle von einer Anwendung benötigten Ressourcen zusammenfasst, einschließlich des Anwendungscode-Quellcodes, abhängiger Bibliotheken und des Betriebssystems, sodass die Anwendung überall problemlos ausgeführt werden kann, ohne durch die Umgebung eingeschränkt zu sein.

Im Vergleich zu virtuellen Maschinen sind Container leichter, portabler, kostengünstiger und effizienter.

Unter Container-Cloud versteht man Container-Technologiedienste in der Cloud.

2 Einführung in Docker

Docker ist eine Open-Source-Container-Engine für Anwendungen. Wir können es als Werkzeug verstehen. Es wurde auf Basis der Sprache Go entwickelt und ist mit dem Apache 2.0-Protokoll kompatibel. Es kann Anwendungen und ihre Abhängigkeiten (wie Konfigurationsdateien usw.) in Container packen.

Darüber hinaus ist es mit einer Vielzahl von Umgebungen kompatibel und kann auf Laptops, internen Servern, öffentlichen oder privaten Clouds eingesetzt werden. Es bietet gute Portabilität und flexible Bereitstellung und löst Kompatibilitätsprobleme in einer Vielzahl von Umgebungen.

Docker umfasst drei grundlegende Konzepte:

Bild
Container
Projektarchiv

Diese drei Teile bilden den gesamten Lebenszyklus von Docker, wie in der obigen Abbildung dargestellt.

Das Docker-Image enthält ein Dateisystem, ähnlich einem virtuellen Maschinenimage, und ist eine schreibgeschützte Vorlage.

Der Docker-Container wird aus dem Image instanziiert, was dem objektorientierten Konzept, das wir gelernt haben, sehr ähnlich ist. Wir können uns das Image als Klasse und den Container als Objekt vorstellen, nachdem die Klasse instanziiert wurde. Dadurch ist die Beziehung zwischen dem Image und dem Container sehr leicht zu verstehen.

Docker-Repository: Ähnlich wie das Code-Repository ist es der Ort, an dem Docker Bilddateien zentral speichert

Diese Beziehung kann klarer wie folgt ausgedrückt werden:

Schauen wir uns die Installation von Docker an:

1. Installieren Sie die erforderlichen Pakete, wobei yum-utils yum-config-manager bereitstellt und der Device-Mapper-Speichertreiber device-mapper-persistent-data und lvm2 erfordert

yum install -y yum-utils
yum install -y Gerätemapper-Persistente-Daten
yum install -y lvm2

2. Ein stabiles Docker-Repository einrichten

yum-Konfigurationsmanager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. Installieren Sie Docker Engine-Community

yum installiere docker-ce docker-ce-cli cotainerd.io

Zu diesem Zeitpunkt ist Docker installiert, aber nicht standardmäßig gestartet. Die Docker-Benutzergruppe wurde erstellt, aber es befinden sich keine Benutzer in dieser Benutzergruppe.

3 MySQL mit Docker installieren

Es ist sehr einfach, den MySQL-Dienst mit Docker zu installieren. Die allgemeinen Schritte sind wie folgt:

1. MySQL-Image herunterladen

Sie können sich beim offiziellen Docker-Repository anmelden, um das MySQL-Image unter der folgenden URL zu finden: https://hub.docker.com/_/mysql?tab=tags

Sie können auch den Docker-Befehl verwenden, um das MySQL-Image direkt herunterzuladen

yum pull mysql:5.7.16

Der obige Befehl gibt an, dass wir das Image von MySQL5.7.16 herunterladen möchten. Wenn wir die letzte Versionsnummer nicht schreiben, wird standardmäßig das neueste MySQL-Versionsimage gezogen

2. Starten Sie MySQL.

Nachdem der Pull abgeschlossen ist, können wir die MySQL-Instanz mit dem folgenden Befehl starten:

docker run -itd --name mysql_5716 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=yeyazhou mysql_5716

In:

-i: Führen Sie den Container im interaktiven Modus aus

-t: weist dem Container ein Pseudo-Eingabeterminal neu zu

-d: Den Container im Hintergrund ausführen

-p 3306:3306: Ordnet den Port 3306 des Containerdienstes dem Port 3306 des Hosts zu. Externe Hosts können über die IP-Adresse 3306 des Hosts direkt auf den MySQL-Dienst zugreifen.

MYSQL_ROOT_PASSWORD=yeyazhou: Legen Sie das Kennwort des Root-Benutzers des MySQL-Dienstes fest.

3. Überprüfen Sie den Betriebsstatus des Containers

Container-ID: Container-ID

Weitere Informationen umfassen das Quellbild des Containers, die Erstellungszeit, den Status, Portzuordnungsinformationen, den Containernamen usw.

4. Betreten Sie den Container, um ihn anzuzeigen

Zunächst rufen wir mit dem folgenden Befehl die interaktive Kommandozeile des Containers auf:

docker exec -it mysql_5716 /bin/bash

Die Ergebnisse sind wie folgt

root@8c388ccfb761:/# ls -l
insgesamt 72
drwxr-xr-x 1 root root 4096 8. November 2016 bin
drwxr-xr-x 2 root root 4096 12. September 2016 booten
drwxr-xr-x 5 root root 360 11. August 11:41 dev
drwxr-xr-x 2 root root 4096 8. November 2016 docker-entrypoint-initdb.d
lrwxrwxrwx 1 root root 34 23. November 2016 entrypoint.sh -> usr/local/bin/docker-entrypoint.sh
drwxr-xr-x 1 root root 4096 11. August 11:41 usw.
drwxr-xr-x 2 root root 4096 12. September 2016 Startseite
drwxr-xr-x 1 root root 4096 8. November 2016 lib
drwxr-xr-x 2 root root 4096 4. November 2016 lib64
drwxr-xr-x 2 root root 4096 4. November 2016 Medien
drwxr-xr-x 2 root root 4096 4. November 2016 mnt
drwxr-xr-x 2 root root 4096 4. November 2016 opt
dr-xr-xr-x 104 root root 0 11. August 11:41 proc
drwx------ 1 Wurzel Wurzel 4096 Aug 11 11:49 Wurzel
drwxr-xr-x 1 root root 4096 8. November 2016 ausführen
drwxr-xr-x 2 root root 4096 4. November 2016 sbin
drwxr-xr-x 2 root root 4096 4. November 2016 srv
dr-xr-xr-x 13 root root 0 Jul 19 02:47 sys
drwxrwxrwt 1 root root 4096 11. August 11:41 tmp
drwxr-xr-x 1 root root 4096 23. November 2016 usr
drwxr-xr-x 1 root root 4096 8. November 2016 var

Sie können sehen, dass die interaktive Befehlszeile des Containers eingegeben wurde. Die Zeichenfolge nach dem @-Symbol im vorherigen root@8c388ccfb761 ist unsere Container-ID.

5. Verwenden Sie die Verbindungszeichenfolge, um eine Verbindung zu MySQL herzustellen

root@8c388ccfb761:/usr/local# mysql -uroot -pyeyazhou -h127.0.0.1
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
Willkommen beim MySQL-Monitor. Befehle enden mit ; ​​oder \g.
Ihre MySQL-Verbindungs-ID ist 16
Serverversion: 5.7.16 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten.

Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer
Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen
Eigentümer.

Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen.

mysql> Datenbanken anzeigen;
+--------------------+
| Datenbank |
+--------------------+
| Informationsschema |
|mysql |
| Leistungsschema |
|System|
+--------------------+
4 Zeilen im Satz (0,00 Sek.)

6. Starten Sie einen weiteren MySQL-Container

[root@VM-0-14-centos ~]# docker run -itd -p 3307:3306 --name mysql_5716_2 -e MYSQL_ROOT_PASSWORD=yeyazhou mysql:5.7.16
  e5e0f9a14462261d01307c4d0891587acce90e4ffd33e434878f311bf98d4f22
 
[root@VM-0-14-centos ~]# docker ps
CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN
e5e0f9a14462 mysql:5.7.16 "docker-entrypoint.s..." vor 8 Sekunden. 6 Sekunden aktiv. 0.0.0.0:3307->3306/tcp mysql_5716_2
8c388ccfb761 mysql:5.7.16 "docker-entrypoint.s..." vor 25 Stunden Aktiv seit 25 Stunden 0.0.0.0:3306->3306/tcp mysql_5716

Oben sind die Einzelheiten des Beispiels für die Bereitstellung von MySQL auf Docker aufgeführt. Weitere Informationen zur Bereitstellung von MySQL auf Docker finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Stellen Sie das .Net6-Projekt im Docker bereit
  • Detaillierte Schritte zum Bereitstellen von Microsoft SQL Server mit Docker
  • Detaillierter Prozess zur Bereitstellung von MySQL mit Docker (allgemeine Anwendungen, die mit Docker bereitgestellt werden)
  • Docker-Bereitstellung MySQL8-Cluster (ein Master und zwei Slaves) Implementierungsschritte
  • Prozessanalyse der Bereitstellung von ASP.NET Core-Anwendungen auf dem Linux-System Docker
  • Stellen Sie Asp.Net Core (.Net6) in Docker unter Linux CentOS bereit
  • Vollständige Schritte zum Bereitstellen von Asp.net-Kernanwendungen mit Docker
  • Docker stellt Mysql, .Net6, Sqlserver und andere Container bereit

<<:  Detaillierte Erläuterung der Verwendung von backgroundImage zum Lösen des Bildkarussellwechsels

>>:  Zusammenfassung der Unterschiede zwischen HTML, SHHTML und XHTML

Artikel empfehlen

Auch Webdesigner müssen Web-Coding lernen

Oftmals wird nach der Fertigstellung eines Webdes...

JavaScript generiert dynamisch eine Tabelle mit Zeilenlöschfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Tutorial zur Installation von MYSQL5.7 aus dem OEL7.6-Quellcode

Laden Sie zunächst das Installationspaket von der...

Manjaro-Installation CUDA-Implementierungs-Tutorial-Analyse

Ende letzten Jahres habe ich im Dualsystem meines...

mysql erhält statistische Daten innerhalb eines bestimmten Zeitraums

mysql erhält statistische Daten innerhalb eines b...

So verwenden Sie Javascript zum Erstellen einfacher Algorithmen

Inhaltsverzeichnis 1 Frage 2 Methoden 3 Experimen...

So zeigen Sie den Typ des gemounteten Dateisystems in Linux an

Vorwort Wie Sie wissen, unterstützt Linux viele D...

Drei Diskussionen zum Iframe Adaptive Height Code

Beim Erstellen einer B/S-Systemschnittstelle stößt...

Erfahrungen bei der Neugestaltung der Homepage von TOM.COM

<br />Ohne Vorwarnung sah ich auf cnBeta Neu...

Tutorial zur Installation von MYSQL8.0 auf Alibaba Cloud ESC

Öffnen Sie das Verbindungstool. Ich verwende Moba...