Pour utiliser Docker et docker-compose, tu dois les avoir installés sur ta machine. Si ce n’est pas le cas, suis les instructions du site de Docker pour les installer.
Récupérer l’image Docker de MariaDB
D’abord, on récupère l’image MariaDB depuis Docker Hub. Cette image contient tout le nécessaire pour faire tourner MariaDB.
docker pull mariadb:latest
Cette commande télécharge la dernière version de l’image MariaDB. Tu peux préciser une version particulière si besoin :
docker pull mariadb:10.5
Créer un réseau Docker (facultatif)
Créer un réseau personnalisé améliore la communication entre conteneurs. Cette étape est facultative, mais recommandée pour les configurations plus complexes avec plusieurs conteneurs.
docker network create mariadb_network
Lancer un conteneur MariaDB
Lançons maintenant un conteneur MariaDB à partir de l’image qu’on vient de récupérer. On va mapper un port local sur le port du conteneur et définir quelques variables d’environnement pour le mot de passe root et le nom de la base de données.
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 : nomme le conteneur pour le retrouver plus facilement.
- -d : lance le conteneur en mode détaché.
- –network mariadb_network : connecte le conteneur au réseau personnalisé.
- -e MYSQL_ROOT_PASSWORD=my-secret-pw : définit le mot de passe root de MariaDB.
- -e MYSQL_DATABASE=mydatabase : crée une base de données nommée mydatabase.
- -p 3306:3306 : mappe le port 3306 de l’hôte sur le port 3306 du conteneur.
Vérifier que le conteneur MariaDB tourne
Utilise la commande suivante pour vérifier que le conteneur MariaDB tourne :
docker ps
Résultat attendu :
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
Se connecter au conteneur MariaDB
Maintenant que le conteneur MariaDB tourne, tu peux t’y connecter avec un client MySQL. Si le client MySQL est installé en local, connecte-toi avec :
mysql -h 127.0.0.1 -P 3306 -u root -p
Après avoir saisi le mot de passe root (my-secret-pw), tu devrais être connecté à ton instance MariaDB.
Utiliser Docker Compose
Docker Compose permet de gérer des configurations multi-conteneurs avec un simple fichier de configuration. Voici comment configurer MariaDB avec Docker Compose :
Créer un fichier docker-compose.yml
Crée un fichier docker-compose.yml à la racine de ton projet. Ce fichier définit les conteneurs que tu veux faire tourner dans ton environnement de développement.
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
Dans cet exemple, on utilise l’image mariadb:latest et on définit plusieurs variables d’environnement pour configurer la base de données. On expose aussi le port MariaDB par défaut (3306) pour pouvoir se connecter à la base depuis notre application.
Lancer Docker Compose pour démarrer le conteneur :
docker-compose up -d
Résultat attendu :
Creating network "projectname_mariadb_network" with driver "bridge"
Creating mariadb-compose ... done
Cette commande récupère les images nécessaires et démarre les conteneurs en arrière-plan. Lance-la sans -d pour démarrer le conteneur au premier plan. Tu peux utiliser la commande suivante pour voir l’état des conteneurs :
docker-compose ps
Se connecter à MariaDB avec Beekeeper Studio
Télécharger Beekeeper Studio (gratuit) >
Beekeeper Studio est un éditeur SQL open source qui prend en charge MariaDB. Voici comment te connecter à ton instance MariaDB sous Docker avec Beekeeper Studio :
- Ouvre Beekeeper Studio et clique sur
New Connection. - Sélectionne MariaDB comme type de connexion.
- Saisis les informations de connexion suivantes :
- Hôte : 127.0.0.1
- Port : 3306
- Nom d’utilisateur : root
- Mot de passe : my-secret-pw
- Base de données : mydatabase (facultatif)
- Clique sur
Connectpour établir la connexion.
Tu obtiens une interface agréable pour modifier & interroger ta base de données MariaDB :
Gérer ton environnement de développement
Pour arrêter le conteneur MariaDB :
docker stop mariadb-container
Pour redémarrer le conteneur :
docker start mariadb-container
Pour supprimer le conteneur :
docker rm -f mariadb-container
Conclusion
Mettre en place un environnement de développement MariaDB avec Docker te donne une configuration robuste, facile à gérer et à reproduire. Docker Compose ajoute de l’évolutivité, ce qui en fait un excellent choix aussi bien pour les petits projets que pour les grandes équipes de développement.
D’autres articles qui pourraient te plaire :
Beekeeper Studio est une interface graphique MariaDB gratuite et open source
Beekeeper Studio est le meilleur outil que j’ai trouvé pour gérer MariaDB. Il est polyvalent, facile à utiliser et propose plein d’options sympas. C’est une pépite ! Bravo à l’équipe de développement ! - Nick
Beekeeper Studio est un client MariaDB rapide, intuitif et facile à utiliser. Il prend aussi en charge plein d’autres bases de données et fonctionne parfaitement sous Windows, Mac et Linux.
Ce que les utilisateurs de MariaDB disent de Beekeeper Studio
j’ai toujours utilisé HeidiSQL parce que c’est ce qui est fourni avec MariaDB (et c’est gratuit), mais l’autocomplétion lente, voire inexistante, et le fait de devoir beaucoup utiliser la souris m’ont toujours frustré. BeeKeeper règle ces frustrations. Le formatage JSON des données des tableaux est super pratique.
Dans mon poste, je m’occupe de tout le code legacy et du code tout neuf, avec MSSQL/Mariadb/Oracle/Postgres et sqlite, et je crois avoir enfin trouvé l’outil qui couvre tous mes besoins en un seul