MariaDB est une base de données open source largement utilisée, reconnue pour sa performance, son extensibilité et sa fiabilité. Docker, quant à lui, est une plateforme qui permet de containeriser des applications pour assurer leur portabilité et leur cohérence à travers différents environnements. Ce guide détaillé vous montrera comment déployer rapidement MariaDB sur Docker, afin de profiter des avantages des conteneurs tout en utilisant une base de données robuste et performante.
Pré-requis
Avant de commencer, assurez-vous d’avoir les éléments suivants installés sur votre machine :
- Docker: Vous pouvez télécharger et installer Docker depuis le site officiel.
- Docker Compose (facultatif mais recommandé): Il simplifie la gestion des applications multi-conteneurs.
Étape 1 : Installation de Docker
Pour les utilisateurs de Windows et macOS, vous pouvez installer Docker Desktop. Pour Linux, suivez ces étapes :
bash
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
« deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable » | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Vérifiez que Docker est correctement installé :
bash
docker --version
Étape 2 : Récupération de l’Image MariaDB
Docker Hub propose des images officielles pour MariaDB. Pour récupérer l’image, utilisez la commande suivante :
bash
docker pull mariadb:latest
Étape 3 : Déploiement de MariaDB avec Docker
Pour déployer MariaDB, utilisez la commande docker run
. Voici un exemple de commande pour exécuter MariaDB avec des paramètres basiques :
bash
docker run -d \
--name mariadb \
-e MYSQL_ROOT_PASSWORD=motdepasse_root \
-e MYSQL_DATABASE=nom_de_la_base \
-e MYSQL_USER=utilisateur \
-e MYSQL_PASSWORD=motdepasse_utilisateur \
-p 3306:3306 \
mariadb:latest
Dans cet exemple, nous avons configuré :
MYSQL_ROOT_PASSWORD
: Le mot de passe pour l’utilisateur root.MYSQL_DATABASE
: Le nom de la base de données à créer.MYSQL_USER
: Le nom de l’utilisateur standard.MYSQL_PASSWORD
: Le mot de passe pour l’utilisateur standard.-p 3306:3306
: Le mappage du port 3306 de l’hôte au port 3306 du conteneur MariaDB.
Étape 4 : Vérification du Déploiement
Pour vérifier que MariaDB est correctement déployé, vous pouvez exécuter la commande suivante :
bash
docker ps
Cette commande liste tous les conteneurs en cours d’exécution. Vous devriez voir MariaDB dans cette liste. Pour vous connecter à la base de données, utilisez un client MySQL ou la commande suivante :
bash
docker exec -it mariadb mysql -u root -p
Entrez le mot de passe root que vous avez défini précédemment.
Étape 5 : Utilisation de Docker Compose
Docker Compose simplifie la gestion des conteneurs Docker, surtout lorsqu’ils doivent interagir entre eux. Voici un exemple de fichier docker-compose.yml
pour MariaDB :
yaml
version: '3.8'
services:
mariadb:
image: mariadb:latest
environment:
– MYSQL_ROOT_PASSWORD=motdepasse_root
– MYSQL_DATABASE=nom_de_la_base
– MYSQL_USER=utilisateur
– MYSQL_PASSWORD=motdepasse_utilisateur
ports:
– « 3306:3306 »
volumes:
– mariadb_data:/var/lib/mysql
volumes:
mariadb_data:
Pour démarrer MariaDB avec Docker Compose, exécutez les commandes suivantes :
bash
docker-compose up -d
Étape 6 : Configuration Avancée
Sauvegarde et Restauration
Pour sauvegarder les données de MariaDB, vous pouvez utiliser la commande suivante :
bash
docker exec mariadb sh -c 'exec mysqldump --all-databases -uroot -p"motdepasse_root"' > sauvegarde.sql
Pour restaurer les données à partir d’une sauvegarde, utilisez :
bash
cat sauvegarde.sql | docker exec -i mariadb sh -c 'exec mysql -uroot -p"motdepasse_root"'
Surveillance et Gestion
MariaDB peut être surveillé à l’aide d’outils comme Prometheus et Grafana. Vous pouvez aussi configurer des scripts de surveillance personnalisés en utilisant les outils disponibles dans le conteneur.
Étape 7 : Sécurisation de MariaDB
Assurez-vous que MariaDB est sécurisé en suivant ces recommandations :
- Utilisez des mots de passe forts pour tous les utilisateurs.
- Restreignez les accès réseau en utilisant les options de Docker pour limiter les connexions au conteneur.
- Activez et configurez les journaux d’audit pour surveiller les activités.
Conclusion
Le déploiement de MariaDB sur Docker permet une gestion simplifiée et une grande flexibilité pour vos bases de données. En suivant les étapes décrites dans cet article, vous pouvez rapidement mettre en place une instance MariaDB robuste et évolutive, tout en profitant des avantages offerts par Docker. Que vous soyez un développeur ou un administrateur système, cette combinaison vous permettra d’optimiser vos processus de gestion de bases de données.