MariaDB mit docker-compose installieren
Einleitung
Wenn wir uns mit vielen Daten beschäftigenbeschäftigen, die gespeichert werden sollen, werden relativ schnell Datenbanken verwendet. Datenbanken haben die EigenschaftEigenschaft, dasdass diese sehr effizient mit vielen Daten umgehen kökönnen. Dazu kommt noch, dasdass mehrere Benutzer gleichzeitig auf die Daten zugreifen kökönnen. Datenbanken sind in fast jeder Firma und auch in jeglicher Software zu finden.
Installation
Zuerst mümüssen wir uns mit unserem Linux Server verbinden. Dies kökönnen wir üüber SSH / Telnet oder üüber eine Serielleserielle Verbindung machen.
Dann mümüssen wir sicherstellensicherstellen, das dass docker und docker-compose auf dem Server installiert ist. Falls nicht, habe ich in diesem Artikel beschriebenbeschrieben, wie man die Installation vornimmt: Docker und Docker-Compose installieren
Im nänächsten Schritt erstellen wir in dem Ordner unserunserer WahlWahl, die die docker-compose.yml und ööffnen diese mit dem Editor unserer Wahl und füfügen dort den folgenden Inhalt ein. Wir veräverändern daraufhin nur noch das Root Kennwort auf ein entsprechend sicheres Kennwort.
Ich erstelle füfür alle Services separate Ordner in denen die Daten der Container gespeichert werden kökönnen.
version: '3.1'
services:
db:
image: mariadb:latest
container_name: db
restart: always
environment:
MARIADB_ROOT_PASSWORD: <passwort>
volumes:
- ./db-data:/var/lib/mysql
ports:
- 3306:3306
Im nänächsten Schritt starten wir den Container. Es werden dann die Daten von der Datenbank in dem lokalen Verzeichnis Verzeichnis db-data angelegt und mit dem Verzeichnis im Container gemountet. Dadurch stellen wir sichersicher, dasdass die Daten auch nach einem Neustart noch vorhanden sind. Im folgendenFolgenden wird dann auch der root Benutzer angelegt und mit dem angegebenen Kennwort versehen.
docker-compose up -d
Sobald der Container gestartet ist, das erkennen wir an dem dem done welches erscheinterscheint, sobald der Container gestartet istist, kökönnen wir uns in den Container hineinschalten um die entsprechenden Datenbanken und Benutzer anzulegen.
docker exec -it db /bin/bash
Wir sind dann als als root in dem Container angemeldet und kökönnen jetzt die MySQL-Shell ööffnen.
mysql -u root -p
Und wir geben in der Aufforderung dann unser festgelegtes festgelegtes root Kennwort ein. Wir kökönnen dann nach erfolgter Anmeldung unsere Datenbanken und Benutzer anlegen.
Datenbank und Benutzer direkt anlegen lassen
Sobald wir eine Datenbank mit einem Benutzer direkt bei der Initialisierung des Containers automatisch anlegen lassen wollen, kökönnen wir folgende folgende docker-compose.yml verwenden. Wir mümüssen nur den Namen der Datenbank, des Benutzers und das Kennwort des Benutzer entsprechend anpassen.
Der Benutzer erhäerhält dann alle Berechtigungen nur auf die eine angelegte Datenbank
version: '3.1'
services:
db:
image: mariadb:latest
container_name: db
restart: always
environment:
- MARIADB_ROOT_PASSWORD: <passwort>
- MARIADB_DATABASE: <datenbank>
- MARIADB_USER: <benutzer>
- MARIADB_PASSWORD: <passwort>
volumes:
- ./db-data:/var/lib/mysql
ports:
- 3306:3306