CodeGym /Cours /Docker SELF /Principaux drivers réseau Docker

Principaux drivers réseau Docker

Docker SELF
Niveau 17 , Leçon 0
Disponible

1.1 Pilote réseau Bridge

Les pilotes réseau Docker permettent aux containers d'interagir entre eux et avec les réseaux externes. Docker fournit plusieurs pilotes réseau, chacun avec ses propres spécificités et destiné à certains scénarios d'utilisation. Dans cette conférence, on va discuter de quatre pilotes réseau principaux : bridge, host, none et overlay.

Le pilote réseau bridge est le pilote réseau par défaut dans Docker. Il crée un réseau interne privé où les containers peuvent communiquer entre eux. Ce réseau est isolé du réseau externe de l'hôte.

Caractéristiques :

  • Les containers connectés au réseau bridge peuvent interagir entre eux via des adresses IP.
  • Les réseaux externes ne peuvent pas interagir directement avec les containers du réseau bridge, sauf si le port forwarding est configuré.
  • Facilité d'utilisation pour des scénarios locaux de développement et de test.

Exemple d'utilisation :

Lors de la création d'un container sans spécification de réseau, il est automatiquement connecté au réseau bridge.

Terminal

docker run -d --name my_container nginx 

Pour configurer le port forwarding, on utilise l'option -p.

Terminal

docker run -d -p 8080:80 --name my_container nginx 

1.2 Driver réseau Host

Le driver réseau host permet au container d'utiliser directement la pile réseau de la machine hôte. Ça veut dire que le container aura la même adresse IP que l'hôte et pourra utiliser toutes les interfaces réseau de l'hôte.

Caractéristiques :

  • Les containers utilisant le driver réseau host fonctionnent plus rapidement grâce à la réduction des frais liés à la virtualisation réseau.
  • Les containers ont accès aux mêmes interfaces réseau que l'hôte, ce qui peut augmenter les risques de sécurité.
  • Applicable dans des scénarios nécessitant une haute performance réseau ou des configurations réseau spécifiques.

Exemple d'utilisation :

Terminal

docker run -d --network host --name my_container nginx 

1.3 Driver réseau None

Le driver réseau none désactive toutes les fonctionnalités réseau du conteneur. Un conteneur connecté au réseau none n'a pas d'interface réseau, ce qui l'isole complètement des autres conteneurs et réseaux.

Caractéristiques:

  • Isolation complète du conteneur de tous les réseaux.
  • Utile pour les conteneurs qui n'ont pas besoin de réseau, par exemple, pour exécuter des tâches indépendantes du réseau.

Exemple d'utilisation:

Terminal

docker run -d --network none --name my_container busybox 

1.4 Pilote réseau Overlay

Le pilote réseau overlay est utilisé pour créer un réseau distribué qui s'étend sur plusieurs hôtes Docker. Ce pilote est souvent utilisé dans Docker Swarm ou Kubernetes pour permettre l'interaction réseau entre les conteneurs sur différents hôtes.

Caractéristiques :

  • Permet la communication entre les conteneurs sur différents hôtes.
  • Nécessite une configuration de cluster, comme Docker Swarm.
  • Permet de créer des réseaux virtuels sur des réseaux existants, offrant un haut niveau d'isolation et de sécurité.

Exemple d'utilisation :

Pour utiliser le pilote overlay, vous devez d'abord créer un cluster Docker Swarm.

1. Initialisation de Docker Swarm :

Terminal

docker swarm init

2. Création d'un réseau overlay :

Terminal

docker network create -d overlay my_overlay_network 

3. Lancement de conteneurs connectés au réseau overlay :

Terminal

docker service create --name my_service --network my_overlay_network nginx 

1.5 Comparaison des drivers réseau

Comparaison des différents drivers réseau

Driver réseau Isolation Performance Applicabilité Caractéristiques
bridge Élevée Moyenne Réseaux locaux Réseau isolé par défaut
host Faible Élevée Performance Pile réseau partagée avec l'hôte
none Complète Maximale Isolation Isolation complète du réseau
overlay Élevée Élevée Réseaux distribués Communication entre conteneurs sur des hôtes différents

Utilisation des drivers réseau

  • Bridge: utilise-le pour des applications locales et des tests, quand les conteneurs doivent interagir entre eux mais doivent rester isolés du réseau externe.
  • Host: choisis-le pour des applications qui nécessitent des performances réseau élevées ou des configurations réseau spécifiques où l'isolation n'est pas une priorité.
  • None: idéal pour des conteneurs complètement isolés qui n'ont pas besoin d'interaction réseau.
  • Overlay: utilise-le pour des applications distribuées fonctionnant en cluster, nécessitant une communication entre conteneurs sur différents hôtes.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION