Aller au contenu principal

2.10 Réseaux Docker Interactions avec le système parent

Objectifs pédagogiques

  • Comprendre le mode de fonctionnement des bridge Linux et le NAT
  • Savoir inspecter la couche réseau d'un conteneur Docker

Le réseau Docker est très automatique

Par défaut :

  • DNS et DHCP intégré dans le "user-defined network"
  • Fournit des adresses automatiquement
  • Fournit un nom de domaine automatique à chaque conteneur
  • Fournit par défaut une isolation des containers

Il est néanmoins modulaire, et permet de choisir entre plusieurs options.


Par défaut : les réseaux de type bridge

Un réseau bridge est une façon de créer un pont entre deux carte réseaux pour construire un réseau à partir de deux.

Analogie: une multiprise de courant.
Au départ il n'y a qu'une seule prise disponible.
Avec la multiprise, cette prise unique est utilisée par d'autres appareils connectés au même appareil.

Par défaut les réseaux docker fonctionne en bridge (le réseau de chaque conteneur est bridgé à un réseau virtuel docker)

Par défaut les adresses sont en 172.16.0.0/12, typiquement chaque hôte définit le bloc d'IP 172.17.0.0/16 configuré avec DHCP.


Les autres types de réseaux

Overlay

Un réseau overlay est un réseau virtuel privé déployé par dessus un réseau existant (typiquement public). Pour par exemple faire un cloud multi-datacenters.

Cette fonctionnalité est utilisée par la solution de Docker pour interconnecter plusieurs serveurs, Docker Swarm

La solution Swarm est en perte de vitesse, on ne va pas s'apesantir sur cette option.

Host

Pour les conteneurs autonomes, supprime l'isolation réseau entre le conteneur et l'hôte Docker, et utilise directement la mise en réseau de l'hôte.

ipvlan

Les réseaux IPvlan offrent aux utilisateurs un contrôle total sur l'adressage IPv4 et IPv6.

Le pilote VLAN s'appuie sur cela en donnant aux opérateurs un contrôle complet du balisage VLAN de couche 2 et même du routage IPvlan L3 pour les utilisateurs intéressés par l'intégration du réseau sous-jacent.

macvlan

Les réseaux Macvlan vous permettent d'attribuer une adresse MAC à un conteneur, le faisant apparaître comme un périphérique physique sur votre réseau.

Le démon Docker achemine le trafic vers les conteneurs par leurs adresses MAC.

L'utilisation du pilote macvlan est parfois le meilleur choix lorsqu'il s'agit d'applications héritées qui s'attendent à être directement connectées au réseau physique, plutôt que d'être acheminées via la pile réseau de l'hôte Docker.

none

Désactive tous les réseaux. Généralement utilisé en conjonction avec un pilote réseau personnalisé. none n'est pas disponible pour les services Swarm.

Plugins réseaux

En dehors des réseaux par défaut de Docker, il existe plusieurs autres solutions spécifiques de réseau disponibles pour des questions de performance et de sécurité.

  • Ex. : Weave Net pour un cluster Docker Swarm
    • fournit une autoconfiguration très simple
    • de la sécurité
    • un DNS qui permet de simuler de la découverte de service
    • Du multicast UDP