Um Docker und docker-compose zu nutzen, müssen beide auf deinem Rechner installiert sein. Falls nicht, folge einfach der Anleitung auf der Docker-Website, um sie zu installieren.
Das MariaDB-Docker-Image pullen
Zuerst pullen wir das MariaDB-Image vom Docker Hub. Dieses Image enthält alles, was du zum Ausführen von MariaDB brauchst.
docker pull mariadb:latest
Dieser Befehl lädt die neueste Version des MariaDB-Images herunter. Bei Bedarf kannst du auch eine bestimmte Version angeben:
docker pull mariadb:10.5
Ein Docker-Netzwerk erstellen (optional)
Ein eigenes Netzwerk sorgt für eine bessere Kommunikation zwischen Containern. Dieser Schritt ist optional, wird aber für komplexere Setups mit mehreren Containern empfohlen.
docker network create mariadb_network
Einen MariaDB-Container starten
Jetzt starten wir einen MariaDB-Container mit dem Image, das wir gerade gepullt haben. Wir mappen einen lokalen Port auf den Port des Containers und setzen einige Umgebungsvariablen für das Root-Passwort und den Datenbanknamen.
docker run --name mariadb-container -d \
--network mariadb_network \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=mydatabase \
-p 3306:3306 \
mariadb:latest
- –name mariadb-container: Gibt dem Container einen Namen, damit du ihn leichter ansprechen kannst.
- -d: Startet den Container im Detached-Modus.
- –network mariadb_network: Verbindet den Container mit dem eigenen Netzwerk.
- -e MYSQL_ROOT_PASSWORD=my-secret-pw: Setzt das Root-Passwort für MariaDB.
- -e MYSQL_DATABASE=mydatabase: Erstellt eine Datenbank namens mydatabase.
- -p 3306:3306: Mappt Port 3306 auf dem Host auf Port 3306 im Container.
Prüfen, ob der MariaDB-Container läuft
Mit folgendem Befehl prüfst du, ob der MariaDB-Container läuft:
docker ps
Erwartete Ausgabe:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc123def456 mariadb:latest "docker-entrypoint.s…" 5 seconds ago Up 5 seconds 0.0.0.0:3306->3306/tcp mariadb-container
Mit dem MariaDB-Container verbinden
Jetzt, wo der MariaDB-Container läuft, kannst du dich mit einem MySQL-Client verbinden. Wenn du den MySQL-Client lokal installiert hast, verbindest du dich so:
mysql -h 127.0.0.1 -P 3306 -u root -p
Nachdem du das Root-Passwort (my-secret-pw) eingegeben hast, solltest du mit deiner MariaDB-Instanz verbunden sein.
Docker Compose verwenden
Mit Docker Compose kannst du Setups aus mehreren Containern über eine einfache Konfigurationsdatei verwalten. So richtest du MariaDB mit Docker Compose ein:
Eine docker-compose.yml-Datei erstellen
Erstelle eine docker-compose.yml-Datei im Stammverzeichnis deines Projekts. Diese Datei definiert die Container, die du als Teil deiner Entwicklungsumgebung ausführen willst.
version: '3.1'
services:
mariadb:
image: mariadb:latest
container_name: mariadb-compose
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: mydatabase
ports:
- "3306:3306"
networks:
- mariadb_network
networks:
mariadb_network:
driver: bridge
In diesem Beispiel verwenden wir das Image mariadb:latest und setzen mehrere Umgebungsvariablen, um die Datenbank zu konfigurieren. Außerdem geben wir den Standard-Port von MariaDB (3306) frei, damit wir uns aus unserer Anwendung mit der Datenbank verbinden können.
Docker Compose ausführen, um den Container zu starten:
docker-compose up -d
Erwartete Ausgabe:
Creating network "projectname_mariadb_network" with driver "bridge"
Creating mariadb-compose ... done
Dieser Befehl pullt die nötigen Images und startet die Container im Hintergrund. Lass -d weg, um den Container im Vordergrund zu starten. Mit folgendem Befehl siehst du den Status der Container:
docker-compose ps
Mit Beekeeper Studio zu MariaDB verbinden
Beekeeper Studio herunterladen (kostenlos) >
Beekeeper Studio ist ein Open-Source-SQL-Editor, der MariaDB unterstützt. So verbindest du dich mit Beekeeper Studio zu deiner MariaDB-Instanz in Docker:
- Öffne Beekeeper Studio und klicke auf
New Connection. - Wähle MariaDB als Verbindungstyp.
- Gib die folgenden Verbindungsdaten ein:
- Host: 127.0.0.1
- Port: 3306
- Benutzername: root
- Passwort: my-secret-pw
- Datenbank: mydatabase (optional)
- Klicke auf
Connect, um die Verbindung herzustellen.
Du bekommst eine schöne, angenehme Oberfläche, mit der du deine MariaDB-Datenbank bearbeiten & abfragen kannst:
Deine Entwicklungsumgebung verwalten
So stoppst du den MariaDB-Container:
docker stop mariadb-container
So startest du den Container wieder:
docker start mariadb-container
So entfernst du den Container:
docker rm -f mariadb-container
Fazit
Eine MariaDB-Entwicklungsumgebung mit Docker einzurichten, sorgt für ein robustes Setup, das sich leicht verwalten und reproduzieren lässt. Docker Compose bringt zusätzlich Skalierbarkeit mit und ist damit eine hervorragende Wahl für kleine Projekte wie auch für größere Entwicklerteams.
Weitere Artikel, die dir gefallen könnten:
Beekeeper Studio ist eine kostenlose & Open-Source-MariaDB-GUI
Beekeeper Studio ist das beste Tool, das ich zur Verwaltung von MariaDB gefunden habe. Es ist vielseitig, einfach zu bedienen und bietet viele praktische Optionen. Ein echtes Juwel! Glückwunsch an das Entwicklerteam! - Nick
Beekeeper Studio ist ein schneller, intuitiver und einfach zu bedienender MariaDB-Client. Er unterstützt auch viele andere Datenbanken und läuft super unter Windows, Mac und Linux.
Was MariaDB-Nutzer über Beekeeper Studio sagen
habe immer HeidiSQL benutzt, weil es mit MariaDB mitkommt (und kostenlos ist), war aber immer frustriert von der langsamen bis nicht vorhandenen Autovervollständigung und davon, ständig die Maus benutzen zu müssen. BeeKeeper löst diese Probleme. Die JSON-Formatierung von Tabellendaten ist super praktisch.
In meiner Rolle betreue ich sowohl Legacy-Code als auch ganz neuen Code mit MSSQL/Mariadb/Oracle/Postgres und sqlite – ich glaube, ich habe jetzt das Tool gefunden, das alle meine Anforderungen in einem abdeckt