3.1 KiB
3.1 KiB
TP3 Docker Networks - Commandes
1. Création des réseaux
Création d'un réseau bridge personnalisé
docker network create bridge-tp3
Visualisation des réseaux disponibles
docker network ls
2. Création des conteneurs
Création des conteneurs sur le réseau bridge-tp3
docker run -d --name web1 --network bridge-tp3 nginx
docker run -d --name web2 --network bridge-tp3 nginx
Création d'un conteneur sur le réseau host
docker run -d --name web3 --network host nginx
Création d'un conteneur sur le réseau none
docker run -d --name web4 --network none nginx
Vérification des conteneurs créés
docker ps
3. Tests de communication
Installation de ping dans les conteneurs
docker exec web1 apt-get update
docker exec web1 apt-get install -y iputils-ping
docker exec web2 apt-get update
docker exec web2 apt-get install -y iputils-ping
docker exec web3 apt-get update
docker exec web3 apt-get install -y iputils-ping
Note: L'installation de ping sur web4 (réseau none) ne fonctionnera pas car il n'a pas d'accès réseau.
Récupération des adresses IP des conteneurs
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web1
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web2
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web3
docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web4
Test de ping entre web1 et web2
docker exec web1 ping -c 4 web2
Test de ping entre web1 et web3 (par IP hôte)
# Remplacer HOST_IP par l'adresse IP de votre machine hôte
docker exec web1 ping -c 4 HOST_IP
# Dans mon cas :
docker exec web1 ping -c 4 172.16.3.195
Test de ping entre web1 et web4
# Ce test échouera car web4 n'a pas de réseau
# Nous aurons besoin de l'adresse IP de web4, mais comme il est sur le réseau none, il n'en a pas
Test d'accès HTTP
Accès à web1
# Exposer le port de web1 si ce n'est pas déjà fait
docker stop web1
docker run -d --name web1 -p 8081:80 --network bridge-tp3 nginx
# Tester l'accès
curl http://localhost:8081
Accès à web2
# Exposer le port de web2
docker stop web2
docker run -d --name web2 -p 8082:80 --network bridge-tp3 nginx
# Tester l'accès
curl http://localhost:8082
Accès à web3 (réseau host)
# web3 utilise directement le port 80 de l'hôte, donc il faut s'assurer qu'il n'est pas déjà utilisé
curl http://localhost:80
# ou simplement
curl http://localhost
Accès à web4 (réseau none)
# Ce test échouera car web4 n'a pas de connectivité réseau
# Il n'est pas possible d'accéder à un conteneur sur le réseau none depuis l'extérieur
4. Nettoyage
Arrêt et suppression des conteneurs
docker stop web1 web2 web3 web4
docker rm web1 web2 web3 web4
Suppression du réseau personnalisé
docker network rm bridge-tp3