La base de donnée chez les docks
Aujourd'hui, nous allons voir l'installation d'un conteneur de base de données qui vous permettra d'y connecter vos différentes applications/services. Cela vous permettra de centraliser vos données et de ne pas avoir à créer un conteneur pour chaque application/service qui en a besoin.
Il existe plusieurs gestionnaires de bases de données, dont Oracle MySQL, MariaDB et PostgreSQL, pour n'en citer que quelques-uns.
Nous utiliserons ici MariaDB (un fork de MySQL) qui est compatible avec la plupart des applications.
Nous allons créer deux fichiers, un fichier nommé .env qui contiendra les variables pour les noms et mot de passe et notre fichier docker-compose.yml.
J’ai mis le port de sorti sur 3330666 pour éviter toute confusion avec d’autre conteneur docker qui écoutera sur le port 3306. À vous de mettre le port que vous souhaitez.
Après la configuration des 2 fichiers, il ne nous reste plus qu’à lancer notre conteneur docker.
docker-compose up -d
Dès que les actions se sont terminées (push de l’image / démarrage du conteneur), nous pouvons vérifier si tout est bien lancé et configuré.
On vérifie les logs dans un premier temps avec la commande suivante :
docker logs MariaDB
Qui doit vous retourner ceci a la fin.
Database Setup Completed
[custom-init] No custom files found, skipping...
230109 13:39:37 mysqld_safe Logging to '/config/databases/9488bc7ebd1e.err'.
230109 13:39:37 mysqld_safe Starting mariadbd daemon with databases from /config/databases
[ls.io-init] done.
Nous vérifions ensuite si les paramètres (user/mot de passe/base) ont bien été pris en compte avec les commandes suivantes :
On se connecte au shell ne notre conteneur :
docker exec -it MariaDB bash
Puis, on teste la connexion aux user et à la base de donnée :
mysql -uroot -p
mysql -uuser -p
Voici le retour que vous devriez avoir si la connexion est bonne.
Welcome to the MariaDB monitor. Commands end with ; or \\g.
Your MariaDB connection id is 7
Server version: 10.6.10-MariaDB-log MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.
Pour le test de connexion a la base de donnée :
connect $database ;
Connection id: 8
Current database: $database
MariaDB [$database]> exit
Bye
Si vous n’avez eu aucun message d’erreur / Warning alors tout est ok.
Pour pouvoir utiliser la base de données avec vos services et applications, il ne restera plus qu'à renseigner login/password/database et ip:port dans les fichiers .env.