MariaDB ist ein kostenloser Datenbankserver, der den Datenzugriff über eine strukturierte Abfragesprache (SQL) ermöglicht. Er bietet Sicherheitsfunktionen wie Passwörter, rollenbasierte Zugriffskontrolle und vieles mehr, um deine Daten zu schützen.

Um MariaDB einzusetzen und deinen Nutzern Zugang zu den Daten zu gewähren, musst du den Datenbankserver hosten. Du kannst dich für einen Cloud-Anbieter entscheiden oder verwaltete oder gemeinsame Hosting-Dienste nutzen.

In diesem Artikel erfährst du, wie du MariaDB in einem Docker-Container laufen lässt, wie du den Datenbankserver konfigurierst und ausführst und wie du ihn mit einer WordPress-Website verbindest.

Was ist Docker?

Docker ist ein kostenloses Entwicklerwerkzeug, mit dem du Anwendungen in einer kontrollierten Umgebung, einem Container, ausführen kannst. Container enthalten den Anwendungscode, Abhängigkeiten und wichtige Systemtools für den Betrieb deiner Anwendung. So kannst du robuste Anwendungen über den gesamten Lebenszyklus der Softwareentwicklung hinweg bereitstellen.

Normalerweise verwenden Container dein Betriebssystem als Host. Das bedeutet, dass der Kernel des Host-Rechners den Zugriff auf Ressourcen wie CPUs, Speicher und das Dateisystem ermöglicht. Daher ist keine traditionelle Virtualisierung wie bei virtuellen Maschinen erforderlich. Die Verwendung von Docker für den Betrieb einer MariaDB-Instanz hat mehrere Vorteile:

  • Sie hat einen kleinen digitalen Fußabdruck, der eine effiziente Nutzung der Systemressourcen gewährleistet.
  • Sie ist konsistent und ermöglicht es Entwicklern, Anwendungen in der Produktion und bei Tests mit minimalen Änderungen auszuführen.
  • Er bietet einen flexiblen Mechanismus für die gemeinsame Nutzung von Ressourcen.
  • Er ist skalierbar – du kannst viele Container auf einem einzigen Host laufen lassen.

So stellst du MariaDB mit Docker bereit

In diesem Abschnitt wirst du Container-Umgebungen erstellen, um MariaDB mit Docker auszuführen. Du erfährst mehr über die Container-Technologie von Docker. Docker funktioniert auf den meisten Versionen von Windows, macOS und Linux-Distributionen. Für diesen Lehrgang brauchst du Windows 10/11, Ubuntu 20.04 oder einen macOS X Rechner, um mitzumachen.

1. Docker installieren

Eine der besten Eigenschaften von Docker ist seine Portabilität. Es nutzt das Betriebssystem des Hosts und ist damit ideal für Test- und Veröffentlichungsumgebungen. In diesem Abschnitt lernst du, wie du Docker auf den drei Betriebssystemen installierst.

Ubuntu 20.04

Aktualisiere zunächst die Paketliste von Ubuntu.

sudo apt-get update

Dann erlaubst du den Zugriff auf Online-Repositories über HTTPS.

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Installiere Docker über das Terminal.
Als nächstes fügst du den GPG-Schlüssel von Docker hinzu.

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Füge nun das Repository von Docker hinzu.

echo deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Aktualisiere dann die Ubuntu-Pakete, um das Docker-Repository aufzunehmen.

sudo apt-get update

Zum Schluss installierst du die Docker Engine.

sudo apt-get install docker-ce

Wenn du eine andere Linux-Distribution wie Debian oder Fedora verwendest, folge der offiziellen Dokumentation für die Installation von Docker unter Linux.

Windows 10/11

Docker ist unter Windows 10 oder 11 verfügbar, wenn du das Windows Subsystem für Linux Version 2 (WSL 2) als Backend verwendest. Führe die folgenden Schritte aus, um Docker zu installieren.

Aktiviere zunächst die Funktion Virtual Machine Platform auf deinem Windows-System. Dadurch kannst du WSL 2 installieren und eine virtualisierte Linux-Instanz auf deinem Windows-Rechner installieren und ausführen.

Als nächstes installierst du WSL.

Besuche dann den Microsoft Store, um Ubuntu 20.04 herunterzuladen.

Zum Schluss lädst du Docker Desktop für Windows herunter. Öffne die heruntergeladene Datei, um den Installationsprozess zu starten.

Nach der Installation suchst du in deiner Taskleiste nach „Docker Desktop“ und öffnest es.

(Hinweis: Du musst die PowerShell als Terminal verwenden, um Docker-Befehle zu verwenden.)

macOS X

Docker ist auf macOS-Rechnern über den Apple App Store verfügbar. Es gibt zwei Installationsprogramme, die sowohl für Intel- als auch für Apple-Chips geeignet sind.

Lade zunächst das entsprechende Installationsprogramm von einem der oben genannten Links herunter. Dann öffnest du die heruntergeladene .dmg-Datei mit einem Doppelklick.

Ziehe dann das Docker-Symbol in den Ordner „Programme“.

Öffne nun die Docker-App im Ordner „Programme“ und folge den Anweisungen, um die Konfiguration abzuschließen.

Sobald der Installationsprozess abgeschlossen ist, doppelklicke auf das Docker-Symbol in der Statusleiste deines Desktops, um es zu öffnen.

Verwende das Standardterminal, um Docker-Befehle auszuführen.

2. Ein MariaDB-Image herunterladen

Ein Docker-Image enthält eine Sammlung von Befehlen und Konfigurationen, um einen Docker-Container zu erstellen. Es ist dafür verantwortlich, alles zu installieren, was zum Ausführen einer Anwendung benötigt wird. Das offizielle MariaDB-Image findest du im Docker Hub.

Um das MariaDB-Image von Docker Hub herunterzuladen, musst du den Befehl docker pull verwenden:

docker pull mariadb

Du kannst dir auch eine Liste der heruntergeladenen Docker-Images ansehen, indem du den folgenden Befehl ausführst:

docker images

Dies ist die Ausgabe des Befehls:

Auflisten von Docker-Images.
Auflistung der Docker-Images.

3. Einen Container erstellen

Ein Container ist eine Softwareeinheit mit dem gesamten Code, den Abhängigkeiten und den Systemwerkzeugen, die zum Ausführen eines Prozesses oder Programms benötigt werden. Du wirst das zuvor heruntergeladene Image verwenden, um einen MariaDB-Container zu erstellen.

docker create mariadb --name mariadb-wp -i –t

Dabei wird ein MariaDB-Container mit dem Namen mariadb-wp erstellt. Das Flag –i ermöglicht eine interaktive Sitzung, und die Option –t erzeugt ein Pseudoterminal. Die offizielle Dokumentation enthält Informationen über alle verfügbaren Variablen.

4. Ausführen, Anhalten und Beenden des Containers

Docker bietet Entwicklern die Flexibilität von konfigurierbaren Umgebungen. In diesem Abschnitt werden wir den MariaDB-Container mit Umgebungsvariablen konfigurieren, um bestimmte Systemeigenschaften für deinen Container einzurichten.

MariaDB verfügt über viele Variablen, die du einstellen kannst, z. B. Datenbanknamen, Passwörter und Datenbankbenutzer. Eine ausführliche Liste der unterstützten Umgebungsvariablen findest du in der Docker-Dokumentation für MariaDB.

docker run -d --name mariadb-wp -p 3306:3306 -v '/path/on/host/:/var/lib/mysql' -e "MARIADB_ROOT_PASSWORD=" -e "MARIADB_DATABASE=wordpress" -e "MARIADB_USER=wordpress" -e "MARIADB_PASSWORD=" mariadb

Der obige Befehl konfiguriert das Root-Passwort von MariaDB, den Datenbankbenutzer und das zugehörige Passwort. Anschließend wird MariaDB auf Port 3306 ausgeführt. Du kannst die Ausführung der Anwendung eines Containers mit dem folgenden Befehl unterbrechen:

docker pause mariadb-wp

Schließlich kannst du eine Anwendung, die in einem Container läuft, auch mit dem folgenden Befehl anhalten:

docker stop mariadb-wp

5. Das containerisierte MariaDB mit einer WordPress-Website verbinden

Jetzt müssen wir MariaDB mit einer externen WordPress-Website verbinden. Hier erfährst du mehr darüber, wie du eine WordPress-Website lokal erstellen kannst.

Öffne im Stammverzeichnis der WordPress-Website die Datei wp-config.php in deinem Code-Editor. Suche den Codeabschnitt, der die Variablen für die Datenbank definiert, und bearbeite ihn, wie unten gezeigt. Achte darauf, dass du den Datenbanknamen, das Passwort und die Portnummer verwendest, wenn du den MariaDB-Container erstellst.

define('DB_NAME', 'wordpress');

define('DB_USER', 'wordpress’);

define('DB_PASSWORD', '');

define('DB_HOST', 'http://localhost:3306’);

Als Nächstes musst du einen Datenbank-Dump deiner WordPress-Website in die containerisierte MariaDB importieren. Vergewissere dich zunächst, dass du die aktuelle Datenbank für die Website exportiert hast. Mehr dazu erfährst du in unserem Tutorial zur Sicherung von MySQL-Datenbanken.

Nachdem du deine Datenbank exportiert hast, installierst du den Datenbank-Dump in den Container.

docker exec -i mariadb-wp sh -c 'exec mysql -u root -p "$MARIADB_ROOT_PASSWORD" < /some/path/on/your/host/all-databases.sql'

Der Befehl docker exec ermöglicht es Entwicklern, Shell-Befehle innerhalb des Containers auszuführen. Wir haben eine Datenbank in MariaDB importiert, indem wir eine exportierte Datei mit dem oben genannten Befehl verwendet haben.

6. Füge einen neuen Beitrag zu deiner WordPress-Seite hinzu

Um diese Integration zu testen, erstellen wir einen Beispielbeitrag mit dem WordPress-Administratorkonto.

Logge dich zunächst in WordPress ein und klicke auf Posts > Add New. Fülle die Details wie unten gezeigt aus und klicke dann auf Veröffentlichen. Nachdem du den Beitrag erstellt hast, klicke auf Beitrag anzeigen, um den neu hinzugefügten Beitrag zu sehen.

Hinzufügen eines neuen Beitrags im WordPress Gutenberg-Editor.
Hinzufügen eines neuen Beitrags im WordPress-Editor.

Und das ist alles, was du tun kannst!

7. MariaDB und Docker mit DevKinsta

Die kostenlose Anwendung DevKinsta von Kinsta ermöglicht es Entwicklern, effizient containerisierte WordPress-Sites zu erstellen. Die App nutzt Docker, um PHP-Versionen, Datenbankserver und Webserver zu konfigurieren. Die DevKinsta-App unterstützt Entwickler/innen mit macOS, Windows und Ubuntu/Linux.

Um loszulegen, musst du DevKinsta herunterladen, installieren und auf deinem lokalen Rechner starten. Die App bietet dir drei Möglichkeiten: Du kannst eine neue WordPress-Website erstellen, eine bestehende Website von Kinsta importieren oder eine eigene Website erstellen.

DevKinsta's neuer Bildschirm zum Erstellen einer neuen Seite.
DevKinsta’s neuer Bildschirm zum Erstellen einer neuen Website.

Um eine neue WordPress-Site zu erstellen, musst du nur ein einfaches Formular ausfüllen und auf Site erstellen klicken.

DevKinsta's neuer Bildschirm zur Erstellung von WordPress-Seiten.
DevKinsta’s neuer Bildschirm zum Erstellen von WordPress-Sites.

Herzlichen Glückwunsch – du hast jetzt eine containerisierte WordPress-Website mit DevKinsta erstellt!

Zusammenfassung

Docker ist ein entwicklerfreundliches Tool zur Containerisierung von Software, auf der Datenbankserver wie MariaDB laufen. Seine minimalistischen Umgebungen helfen, die Effizienz der Systemressourcen zu erhalten, ohne die Funktionalität zu beeinträchtigen.

In diesem Lernprogramm hast du gelernt, wie du Docker installierst, MariaDB einrichtest und eine WordPress-Website mit deiner containerisierten MariaDB-Datenbank verbindest. Außerdem hast du gelernt, wie du mit DevKinsta eine vollständig containerisierte WordPress-Website erstellen kannst.

Es gibt noch viel mehr über die Erstellung von WordPress-Websites und die zahlreichen Hosting-Lösungen zu erfahren. Wenn du herausfinden willst, wie einfach die Verwaltung deiner Website sein kann, bist du bei Kinstas Managed WordPress Hosting genau richtig.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.