Blog
13.1.3 Service db-wordpress
Ce service va contenir une image d’un logiciel de gestion de base de données. Il s’agit de MySql, la plus grande base de données open source au monde. Ce conteneur aura besoin d’une image mysql, de points d’entrée via « volumes », et de variables d’environnement qui vont servir à sécuriser l’accès à la base de données.
A noter que le nom du conteneur devra être le même que celui indiqué ici. Idem en ce qui concerne les variables d’environnement pour le nom de la base de données, l’utilisateur de la base de données et le mot de passe pour la base de données.
On aura donc un service de base de données défini à peu près ainsi [1] :
db-wordpress |
| |
| container_name | db-wordpress |
| image | mysql:latest |
| command | mysqld –character-set-server=utf8mb4 –collation-server=utf8mb4_unicode_ci |
| volumes | ./mysql/wordpress:/var/lib/mysql ./mysql/conf-wordpress.d:/etc/mysql/conf.d ./mysql/init:/docker-entrypoint-initdb.d |
| environment | MYSQL_ROOT_PASSWORD: wordpress1234 * MYSQL_USER: wp_docker MYSQL_PASSWORD: wordpress1234 * |
* Je vous conseille vivement de changer ces valeurs et d’en mettre des personnalisées.
Vu que l’on a besoin de « volumes », il faut créer les sous-répertoire correspondants, soit : mysql/wordpress et mysql/conf-wordpress.d .
Vous remarquerez 2 choses :
· L’utilisation de la variable « command »
· La définition d’un volume « ./mysql/init ».
La variable « command » va indiquer à Docker comment lancer le Daemon de MySql une fois que le conteneur sera créé.
Le point de montage (volume) « ./mysql/init » va nous servir à insérer un fichier d’initialisation de la base de données. C’est ce que nous ferons après avoir modifié la configuration de Docker.
On ajoute donc la configuration dans le fichier « docker-compose.yml » :

Il nous faut maintenant créer le fichier d’initialisation de la base de données. Dans VSCode, on se rend dans le sous répertoire mysql / init , et on crée un fichier nommé « 01-database.sql ». Ce fichier va contenir des commandes en langage SQL [1] qui vont :
· Créer une base de données pour le blog de Pierre-Ange,
· Créer une base de données pour le blog de Salammbô,
· Créer une base de données pour le blog de Moïra,
Créer un utilisateur « wp_docker » (qui sera utilisé par WordPress pour se connecter aux bases de données, et lui donner ses droits.

Et voilà ! Nous avons terminé la configuration pour le blog de Pierre-Ange.
Il faut maintenant répéter l’avant dernière étape pour les blogs de Salammbô et Pierre-Ange (mais sans doute n’aurez-vous pas ce besoin), en prenant bien soin de changer les noms de conteneurs, et valeurs de variables d’environnement. Pensez également à créer les sous-répertoires nécessaires.