Ce projet est un template Docker simple pour déployer une base de données MariaDB avec une configuration de démarrage rapide, permettant une gestion aisée de vos bases de données dans des environnements Docker. Il est conçu pour être un modèle réutilisable pour différents projets nécessitant une instance MariaDB avec initialisation via un script SQL.
./
├── docker-compose.yml # Fichier de configuration Docker Compose
├── README.md # Ce fichier README
└── mariadb/ # Dossier contenant les configurations de MariaDB
└── init.sql # Script SQL pour initialiser la base de données
Avant de commencer, assurez-vous que vous avez les éléments suivants installés :
Si ce projet n'est pas déjà sur votre machine, vous pouvez le cloner depuis le dépôt Git (ou simplement télécharger les fichiers si vous avez un ZIP).
git clone https://github.com/Skarbiee/template_docker_mariadb.git
Une fois que vous avez cloné le projet, vous pouvez démarrer le conteneur MariaDB avec la commande suivante :
docker-compose up -d
Cela va :
- Télécharger l'image
mariadb:latest
si elle n'est pas déjà présente sur votre machine. - Créer un conteneur nommé
mariadb_container
. - Configurer le mot de passe root, créer la base de données
tp-docker_db
, et configurer l'utilisateuruser
avec le mot de passepassword
.
Une fois que le conteneur est lancé, vous pouvez vous connecter à MariaDB en utilisant la commande suivante pour accéder au shell MySQL dans le conteneur :
docker exec -it mariadb_container mysql -u root -p
Entrez le mot de passe root (rootpassword
) lorsque vous y êtes invité.
Si vous préférez utiliser l'utilisateur user
(mot de passe password
), vous pouvez vous connecter avec cette commande :
docker exec -it mariadb_container mysql -u user -p
Une fois connecté à MariaDB, vous pouvez vérifier la base de données et son contenu en exécutant les commandes suivantes :
SHOW DATABASES;
USE tp-docker_db;
SHOW TABLES;
Le fichier mariadb/init.sql
est utilisé pour initialiser la base de données lorsque le conteneur est lancé pour la première fois. Vous pouvez y ajouter vos propres instructions SQL (création de tables, insertion de données, etc.).
CREATE DATABASE IF NOT EXISTS tp-docker_db;
USE tp-docker_db;
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE
);
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
Les données de la base de données sont persistées dans un volume Docker (mariadb-data
), ce qui signifie que même si le conteneur est supprimé, les données restent intactes. Les volumes Docker sont stockés dans le système local, en dehors du conteneur, garantissant la persistance des données entre les redémarrages du conteneur.
Pour arrêter les conteneurs et nettoyer les ressources associées, vous pouvez utiliser la commande suivante :
docker-compose down
Cette commande arrêtera les conteneurs mais laissera les volumes de données intacts. Si vous souhaitez supprimer les volumes de données (ce qui effacera toutes les données persistantes), utilisez :
docker-compose down -v
-
Le conteneur ne démarre pas : Vérifiez les logs du conteneur en utilisant la commande suivante pour voir si des erreurs apparaissent lors du démarrage :
docker logs mariadb_container
-
Base de données non initialisée : Si vous avez modifié
init.sql
, assurez-vous que les changements sont corrects et que le conteneur a été redémarré correctement. Vous pouvez redémarrer le conteneur avec :docker-compose restart