UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
ATELIER DOCKER
Dans ce tutoriel, nous allons installé docker Engine sur une instance, télécharger et exécuter
des conteneurs existants à partir de Docker Hub , et créer des scripts de déploiement à
partir de Docker Compose.
Partie 1 : Créer un serveur Docker
Dans cette partie, nous avons créé une nouvelle instance Ubuntu pour exécuter Docker
Engine. Nous avons utilisé WSL (Windows Subsystem for Linux) sur Windows pour créer
l'instance Ubuntu.
Ensuite, nous avons défini le nom d'hôte de l'instance à "docker" en modifiant le fichier
/etc/hostname et en redémarrant le service hostname. Cela permettra de mieux identifier
l'instance Ubuntu lors de l'exécution de commandes Docker et facilitera la gestion de
plusieurs instances Docker sur un même réseau.
Partie 2 : Installer Docker Engine
Pour installer Docker Engine sur Ubuntu, nous avons suivi les étapes suivantes :
1. Mise à jour de la liste des paquets APT :
sudo apt update
2. Installation des dépendances requises pour Docker :
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent
software-properties-common
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
3. Ajout de la clé GPG Docker à votre trousseau de clé puis modifie les permissions du
fichier docker.gpg situé dans le répertoire /etc/apt/keyrings pour que tous les
utilisateurs puissent le lire.
4. Vérifiez que vous avez maintenant la clé avec l'empreinte 9DC8 5822 9FC7 DD38
854A E2D8 8D81 803C 0EBF CD88, en recherchant les 8 derniers caractères de
l'empreinte :
5. Configuration du dépôt :
La commande sudo add-apt-repository "deb [arch=amd64]
https://download.docker.com/linux/ubuntu $(lsb_release -cs)" ajoute le dépôt Docker
aux sources de paquets APT sur un système Ubuntu.
Voici ce que chaque partie de cette commande fait :
● add-apt-repository est une commande qui ajoute un nouveau dépôt APT à la liste
des sources de paquets ;
● "deb [arch=amd64] https://download.docker.com/linux/ubuntu est l'URL du
dépôt Docker pour Ubuntu. Cette partie spécifie le protocole (deb), l'architecture du
système (amd64) et l'adresse du dépôt (https://download.docker.com/linux/ubuntu) ;
● $(lsb_release -cs) est une expression shell qui résout le nom du code de version de
la distribution Ubuntu actuellement installée sur le système. Cette expression est
utilisée pour identifier la version spécifique d'Ubuntu et éviter ainsi les
incompatibilités.
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
Installer Docker Engine à partir du dépôt
Mettez à jour l'index des paquets apt, puis installez la dernière version stable disponible de
Docker Engine et de containerd :
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
Vérifiez que Docker Engine est correctement installé en vérifiant son numéro de version.
Ensuite, téléchargez et exécutez l'image de test hello-world depuis Docker Hub. Lorsque ce
conteneur s'exécute, il affiche un message d'information et se termine.
Ajouter des utilisateurs autorisés au groupe Docker
● Créez le groupe docker :
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
● Enfin, vérifiez que vous pouvez exécuter les commandes docker sans sudo :
Configurer Docker Engine pour qu'il démarre au démarrage
La commande sudo systemctl enable docker permet d'activer le service Docker au
démarrage de votre système. Cela signifie que Docker sera lancé automatiquement chaque
fois que vous démarrez votre machine ou redémarrez le service Docker.
Partie 3 – Conteneur : Installer et configurer MySQL
Dans cette partie, nous allons installer et configurer un conteneur MySQL en utilisant
Docker.
● Tout d'abord, nous allons télécharger l'image officielle depuis DockerHub :
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
● Ensuite, lancez l'instance. La commande docker run a de nombreux arguments et
options potentiels à définir.
● La commande docker inspect -f "{{ .NetworkSettings.IPAddress }}" MySQL
permet de récupérer l'adresse IP du conteneur MySQL en utilisant le formatage de la
sortie de la commande docker inspect.
Plus précisément, la commande docker inspect est utilisée pour afficher les détails
d'un conteneur Docker spécifique, tels que son ID, son nom, son image, ses ports
exposés, ses variables d'environnement, etc. Le paramètre -f est utilisé pour
formater la sortie selon un modèle spécifié. Dans ce cas, le modèle {{
.NetworkSettings.IPAddress }} est utilisé pour récupérer l'adresse IP du conteneur.
Partie 4 – Conteneur : Installer et configurer WordPress
Dans cette partie, nous allons installer et configurer un conteneur WordPress en utilisant
Docker.
Tout d’abord, nous allons télécharger l'image officielle depuis DockerHub :
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
● Ensuite, lancez l'instance. La commande docker run a de nombreux arguments et
options potentiels à définir.
● Accédez à votre nouveau CMS WordPress à partir de votre navigateur web à
l'adresse http://localhost
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
● la liste des conteneurs Docker en cours d'exécution, le mappage des ports pour le
conteneur WordPress, et les volumes Docker sur le système hôte
Partie 5 – Créer un script de déploiement Docker Compose
Dans cette partie, nous allons créer un script de déploiement Docker Compose
● Tout d’abord, nous allons par installer Docker Compose :
● Rendre le fichier exécutable et vérifier que cela fonctionne
● Créez un nouveau fichier sur le disque pour spécifier votre nouvelle pile logicielle.
Par convention, ce fichier est toujours nommé docker-compose.yml:
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
● Exécutons cette pile de logiciels combinés :
UCAD/ESP/DGI Pape Saliou WADE DSTI 2A 2022/2023
● la liste des conteneurs Docker en cours d'exécution, et les volumes Docker sur le
système hôte
Nous avons terminé ce tutoriel qui nous a permis de découvrir les bases de Docker et
Docker Compose en créant un environnement de développement WordPress avec MySQL.
Nous avons appris à créer des conteneurs Docker, à configurer des services tels que
WordPress et MySQL, à utiliser Docker Compose pour déployer des applications
multi-conteneurs, à gérer des images Docker et à créer des scripts de déploiement avec
Docker Compose.