EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
Licence Professionnelle Infrastructures, Traitement et Analyse de
données Massives (BIG DATA)
La virtualisation et Cloud Computing
Pr. HAMIM MOHAMMED
TP - Docker Networking
Dans ce Travaux Pratiques (TP), vous allez apprendre à configurer les
réseaux Docker en créant des conteneurs dans différents modes de réseau.
Vous commencerez par le réseau par défaut Bridge, puis vous explorerez les
modes Host, Overlay et enfin Macvlan.
À la fin de ce TP, vous devrez comprendre comment :
1. Créer des conteneurs dans différents modes de réseau.
2. Comprendre comment les conteneurs communiquent entre eux.
3. Créer et configurer des réseaux personnalisés dans Docker.
Partie 1 : Mode Réseau Bridge
Objectif:
Comprendre le fonctionnement du réseau par défaut Bridge et la
communication entre conteneurs.
Ce dont vous avez besoin :
Docker installé
Accès au terminal
Navigateur web
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
Étape 1:
Ouvrir Docker Desktop
Attendez que le message apparaisse: Docker is running
⚠️Si Docker ne démarre pas, vérifiez que la virtualisation est activée.
Ouvrir PowerShell ou Terminal Windows
Vérifier que Docker fonctionne:
Dans le terminal, tapez :
docker –version
docker ps
Si aucune erreur n’apparaît Docker fonctionne correctement.
1. Tapez la commande suivante pour démarrer un conteneur nginx en mode Bridge
(mode par défaut) :
docker run -d --name my-container nginx
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
2. Tapez la commande suivante pour afficher les informations détaillées du
conteneur et repérez le champ IPAddress dans la section réseau : docker
inspect my-container
3. Exécutez la commande suivante pour Rendre le conteneur accessible depuis le
navigateur :
docker run -d -p 8080:80 --name my-container-exposed nginx
-p 8080:80 permet de connecter le port de l’hôte au port du conteneur.
Sans cette option, le site ne sera pas accessible.
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
Tester dans le navigateur/
Ouvrez votre navigateur et tapez : [Link]
4. Exécutez la commande suivante pour afficher tous les réseaux Docker disponibles
/
docker network ls
5. Créer un réseau Docker personnalisé :
Objectif : Créer un réseau Docker personnalisé pour connecter des conteneurs de manière
isolée.
docker network create --driver bridge my-network
docker network create → crée un nouveau réseau
--driver bridge → type de réseau utilisé
my-network → nom du réseau créé
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
6. Exécutez la commande suivante pour connecter le conteneur my-container au
réseau my-network : docker network connect my-network my-container
Vérifiez que le conteneur est bien connecté au réseau : docker network inspect my-
network
7. Exécutez la commande suivante pour retirer le conteneur my-container du
réseau my-network: docker network disconnect my-network my-container
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
8. Exécutez la commande suivante pour supprimer le réseau my-network :
docker network rm my-network
Partie 2: Mode Réseau Host
Pour le mode réseau Host, nous avons essayé d’utiliser Docker Desktop sur Windows,
mais ce mode ne fonctionne pas correctement car Docker Desktop utilise une machine
virtuelle interne. Dans ce cas, le conteneur ne partage pas réellement la pile réseau de
l’hôte comme sur Linux. Pour cette raison, nous avons utilisé Ubuntu dans une machine
virtuelle VMware, où le mode Host fonctionne correctement et permet au conteneur de
partager directement le réseau de l’hôte et d’être accessible via [Link]écutez la
commande suivante pour afficher les conteneurs actifs .
I. Mettre à jour les dépôts Ubuntu : sudo apt update
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
II. Installer le moteur Docker sur Ubuntu : sudo apt install [Link] –y
III. Vérifier que Docker est correctement installé: docker –version
IV. Lancer un conteneur nginx en mode Host : sudo docker run -d --name host-
container --network host nginx
puis vérifier que le conteneur est en cours d’exécution : sudo docker ps
V. Accès au serveur nginx:
Ouvrir le navigateur dans Ubuntu et accéder à : [Link]
Partie 3: Mode Réseau Overlay (Swarm Mode)
Objectif
Dans cet atelier, nous allons apprendre à configurer un réseau Docker Overlay
afin de permettre la communication entre des conteneurs exécutés sur plusieurs
machines virtuelles.
Pour cet exercice, nous utiliserons deux machines virtuelles :
VM1 : Manager (machine principale)
VM2 : Worker (machine secondaire)
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
1. Exécutez la commande suivante pour afficher les interfaces réseau et identifier
l’adresse IP de la machine virtuelle : ip a
2. Sur la machine VM1, exécutez la commande suivante pour initialiser le cluster
Docker Swarm : docker swarm init --advertise-addr <IP_VM1>
Cette commande active le mode Swarm et transforme la machine en manager du
cluster .
3. Sur la machine VM2, exécutez la commande fournie après l’initialisation du
Swarm pour rejoindre le cluster : docker swarm join --token <token>
<IP_VM1>:2377
Cette commande permet à la deuxième machine de rejoindre le cluster Docker
Swarm comme nœud worker.
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
4. Sur la machine VM1, créez un réseau Docker Overlay avec la commande
suivante : sudo docker network create --driver overlay my-overlay-network
5. Créer les conteneurs:
Créer deux conteneurs connectés au réseau Overlay :
vm1-container sur VM1
vm2-container sur VM2
Commande sur VM1: sudo docker run -dit --name vm1-container --
network my-overlay-network busybox
Commande sur VM2: sudo docker run -dit --name vm2-container --
network my-overlay-network busybox
6. Vérifier la communication entre les conteneurs :
Sur VM1, exécuter la commande suivante pour tester la communication entre les
conteneurs : sudo docker exec -it vm1-container ping vm2-container
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
Partie 4 : Mode Réseau Macvlan:
Objectif
Dans cet atelier, nous allons créer un réseau Macvlan permettant aux conteneurs Docker
d’avoir leur propre adresse IP dans le réseau local, comme des machines physiques.
1. Exécuter la commande suivante pour afficher les interfaces réseau de la machine : ip a
2. Exécuter la commande suivante pour identifier la passerelle du réseau : ip route | grep
default
3. Exécuter la commande suivante pour créer un réseau Docker de type Macvlan :
sudo docker network create \--driver macvlan \--subnet=[Link]/24 \--
gateway=[Link] \-o parent=ens33 \my-macvlan-network
Cette commande crée un réseau Macvlan permettant aux conteneurs d’obtenir une
adresse IP dans le réseau local.
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
4. Créer deux conteneurs connectés au réseau Macvlan :
Commande (Conteneur 1): sudo docker run -dit --network my-macvlan-network --name
container1 busybox
Commande (Conteneur 2): sudo docker run -dit --network my-macvlan-network --name
container2 busybox
5. Exécuter la commande suivante pour afficher les informations du réseau Macvlan :
sudo docker network inspect my-macvlan-network
Cette commande permet d’afficher les informations du réseau et les adresses IP
attribuées aux conteneurs.
EST-Fkih Ben Salah VIRTUALISATION ET CLOUD COMPUTING LP BIG DATA
6. Tester la communication entre les deux conteneurs : sudo docker exec -it container1
ping container2