62 lines
2.9 KiB
Markdown
62 lines
2.9 KiB
Markdown
# TP3 : Docker Networks
|
|
|
|
1. Création des réseaux
|
|
```shell
|
|
docker network create --driver bridge bridge-tp3 # Création d'un réseau de type bridge.
|
|
# c82958e2f11e582accf806f4fe24c35dd652f834e35ce9c975c8ab41057f9eb2
|
|
|
|
docker network create --driver host host-tp3
|
|
docker network create --drive none none-tp3
|
|
# Error response from daemon: only one instance of "host" network is allowed : CAR il y a déjà un network host ainsi que none, alors que les dockers network peuvent être crée à volonté.
|
|
|
|
# En vérifiant avec la commande ci-dessous, on peut vérifier les réseaux dockers déjà instanciés
|
|
docker network ls
|
|
[srivasta@salle234-09 exo1-networks]$ dar network ls
|
|
NETWORK ID NAME DRIVER SCOPE
|
|
ad5c5a581e67 bridge bridge local
|
|
c82958e2f11e bridge-tp3 bridge local
|
|
55ace904f2d5 host host local
|
|
59c5b3091f5b none null local
|
|
```
|
|
|
|
2. Création des conteneurs
|
|
```shell
|
|
# De notre côté on crée des dossiers web1,2,3 et met un index.html dans chacun d'entre eux.
|
|
# Ensuite on lances les conteneurs web1 et web2 en montant le fichier index.html à l'emplacement demandé.
|
|
docker run -d --name web1 --network bridge-tp3 -v "$PWD"/web1/index.html:/usr/share/nginx/html/index.html nginx:alpine
|
|
# docker run -d --name web1 --network bridge-tp3 -v "$PWD"/web1/index.html:/usr/share/nginx/html/index.html nginx:alpine web1 sur bridge-tp3
|
|
|
|
docker run -d --name web2 --network bridge-tp3 -v "$PWD"/web2/index.html:/usr/share/nginx/html/index.html nginx:alpine
|
|
# 9dd106f74be931c67d7a29efc25eb4cbcc64da8826773a9100cd244220d94d83 web2 sur bridge-tp3
|
|
|
|
docker run -d --name web3 --network host -v "$PWD"/web3/index.html:/usr/share/nginx/html/index.html nginx:alpine
|
|
# 4fd0e8ba56605f04722e99ffe34d70329dbd69bcf455b80bf00f087e6ee8f523
|
|
|
|
docker run -d --name web4 --network none -v "$PWD"/web4/index.html:/usr/share/nginx/html/index.html nginx:alpine
|
|
# 5bc61fee7ca46a1bba6a3738611d2f53ae3e19cfe8af0b386ce2dff8efab13a4
|
|
```
|
|
|
|
3. Tests de communication
|
|
```shell
|
|
# Test ping entre web1 et web2
|
|
[srivasta@salle234-09 exo1-networks]$ docker exec web1 ping web2
|
|
PING web2 (172.18.0.3): 56 data bytes
|
|
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.052 ms
|
|
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.038 ms
|
|
^C
|
|
|
|
# Test ping entre web1 et web3
|
|
[srivasta@salle234-09 exo1-networks]$ dar exec web1 ping 172.17.0.1
|
|
PING 172.17.0.1 (172.17.0.1): 56 data bytes
|
|
64 bytes from 172.17.0.1: seq=0 ttl=64 time=0.053 ms
|
|
64 bytes from 172.17.0.1: seq=1 ttl=64 time=0.179 ms
|
|
^C
|
|
|
|
#Test ping entre web1 et web4 Ping impossible car inatteignable
|
|
[srivasta@salle234-09 exo1-networks]$ dar exec web1 ping web4
|
|
ping: bad address 'web4'
|
|
```
|
|
* L'adresse du conteneur web1 : http://172.18.0.2/ En allant sur firefox, la fenêtre s'affiche bien
|
|
* web2 : http://172.18.0.3/
|
|
* web3 : http://172.17.0.1/
|
|
* web4 n'a pas d'adresse ip qui lui est propre car c'est un none. |