Labo 8 - Le réseau, partie 2
Il existe 5 types de drivers réseaux que nous pouvons utiliser lors de la création d'un conteneur en ajoutant cet argument
--network <type>
Driver 1 : none
Absence totale de réseau au conteneur
sudo docker run -ti --rm --network none bash
Même en spécifiant un port avec -p il n'y aura pas de communication réseau
Driver 2 : bridge
Iil est le pilote par défaut. Il peut être utilisé pour faire communiquer plusieurs conteneurs entre eux quand c'est spécifié
Nous avons des adresses ip et nous voyons que les conteneurs se voient
Les deux conteneurs peuvent également communiquer avec le réseau de l'hôte qui a par défaut l'adresse ip 172.17.0.1
Maintenant chaque conteneur créé pourra communiquer avec un autre grâce au bridge par défaut.
Il est cependant possible d'isoler les réseaux des conteneurs en créant un clone du bridge
sudo docker network create --driver=bidge mon_bridge
Puis un
sudo docker network ls
Voyons comment créer des conteneurs sur ce nouveau bridge
sudo docker run -ti --rm --network=mon_bridge --name=srv1 bash
Puis
ifconfig
Et pour le deuxième conteneur
sudo docker run -ti --rm --network=mon_bridge --name=srv2 bash
Puis
ifconfig
Le DNS interne géré par Docker ne s'applique uniquement qu'aux réseaux bridges clonés
Maintenant si les conteneurs sont rattachés au bridge par défaut, il est possible de les rattacher dynamiquement à un bridge cloné
sudo docker network connect=mon_bridge srv1
et
sudo docker network connect=mon_bridge srv2
Pour supprimer un bridge cloné, il suffit de faire
sudo docker network rm mon_bridge
Cette opération ne peut se faire si nous n'avons plus aucun conteneur attaché à ce réseau
Driver 3 : host
Il permet à un conteneur de partager la même pile réseau que celle de l'hôte
Par exemple avec nginx nous avions spécifié un port particulier mais si nous faisons simplement
sudo docker run --rm --network=host nginx
On a bien accès au serveur nginx via un navigateur web
L'accès au network host est assez peu courant
Driver 4 : overlay
Il permet de connecter entre eux qui tournent sous des hôtes différents
Driver 5 : Macvlan
Il permet d'attribuer une adresse MAC à l'interface réseau virtuelle de chaque conteneur