
Dans ce tuto, on va ensemble étape par étape déployer la version 5.7 du serveur mysql avec docker
Pour comprendre le concept de docker, allez sur la page de la documentation officielle https://docs.docker.com/
Rendez-vous à cette page pour installer docker-ce sur votre machine
Etape 1
Télécharger l’image mysql
docker pull mysql:5.7

Etape 2
Vérifier que l’image mysql a bien été téléchargé
docker image

Informations à retenir sur l’image téléchargée
Repository : Nom de l’image
TAG : représentant la version de l’image téléchargée
IMAGE ID : l’ID de l’image téléchargée. Vous pourrez avoir besoin de cette ID, si vous voulez soit supprimé l’image, faire un commit sur l’image etc…
Etape 3
Créer le container à partir de l’image mysql:5.7 téléchargée
Passez la commande suivate
docker run --name mysql-server
-p 4406:3306
-v /home/mysql:/var/lib/mysql
-e MYSQL_DATABASE=linuxhaiti_test
-e MYSQL_USER=root
-e MYSQL_ROOT_PASSWORD=password
-d mysql:5.7
Comprendre les options de docker run
–name mysql-server : Le nom qu’on donne au container qui va être créé
-p 4406:3306
: l’option -p représente le port d’écoute du container. Par défaut le port d’écoute du serveur mysql est 3306
, alors le 3306
apres les : represente le port d’écoute du container tandis que le port 4406
représente le port que la machine hôte attribue au container pour écouter.
-v /home/mysql:/var/lib/mysql : l’option -v offre un espace de stockage au container sur la machine hôte. Ce qui veut dire que mysql va écrire ses données non seulement à l’intérieur du container dans le répertoire /var/lib/mysql mais aussi sur la machine hôte dans le répertoire /home/mysql.
Au cas ou il y aurait un problème avec le container et vous voulez recréer ce container, vous pouvez toujours utiliser le répertoire /home/mysql pour récupérer les données de l’ancien container
-e : L’option -e permet d’attribuer des valeurs aux variables d’environnement de l’image.
MYSQL_DATABASE, MYSQL_USER, MYSQL_ROOT_PASSWORD
ce sont des variables d’environnement utiles au déploiement du serveur mysql
-d : Specifier l’image
Voir la le container déployé
docker container ls

Dans la figure 3, voyez le statut du container “UP”, ce qui veut dire que votre container mysql-server a bien été déployé.
Pour vous rendre sur le shell du container passez la commande suivante
docker exec -it mysql-server /bin/bash

Accéder à l’interface client de la base a partir de la machine hôte
mysql -h 172.17.0.1 -uroot -p --port 4406
-h 172.17.0.1
represente l’adresse IP de l’interface virtuelle docker0 de la machine hôte

Vérifier que mysql écrit ses données sur la machine hôte
ls /home/mysql

Stopper le container mysql-server
Passez la commande suivante
docker stop mysql-server
Afficher la liste des containers
docker container ls -a

Dans la figure 6, voyez que le statut du container est “Exited”
Redémarrer le container
Passez la commande suivante
docker start mysql-server
Supprimer le container
Pour supprimer le container, il faut d’abord le stopper
docker stop mysql-server
docker rm mysql-server
Règle d’or
N’hésitez pas à lire la documentation officielle de docker
Et utiliser la commande docker help pour avoir de l’aide en ligne de commande
docker help