Le réseau Le réseau avec docker network Docker permet une gestion avancée du réseau, entre un conteneur et la machine hôte, mais aussi entre les conteneurs. Les réseaux docker peuvent être gérés avec la commande docker network . docker network ls # lister les réseaux docker network create mon_reseau # créer un réseau docker network rm mon_reseau # supprimer un réseau Il existe plusieurs types de réseaux docker, identifiés avec l'argument --driver . Bridge (pont) Utilisé par défaut, c'est un réseau interne à docker. Les conteneurs peuvent communiquer entre eux sur ce réseau. Host Le conteneur partage directement le réseau de l'hôte. Il n'est pas isolé et utilise l'adresse IP de l'hôte. Dans ce cas, la redirection de port n'est pas nécessaire. None Aucun réseau, isolation totale. Docker propose par défaut un réseau pour chacun de ses 3 types.  Le réseau par défaut est bridge . Driver Bridge Ci-dessous un exemple avec l'image busybox qui embarque quelques utilitaires réseau, dont la commande ping .  Un réseau  testnetwork est créé avec le driver bridge . Un conteneur c1 est lancé en arrière-plan, il est attaché au réseau testnetwork avec --network=testnetwork . Un deuxième conteneur c2 est lancé. Les deux conteneurs peuvent se pinguer. Chaque conteneur est visible dans le réseau à partir de son nom défini avec --name . Le réseau bridge par défaut de Docker isole les conteneurs entre-eux. Il est nécessaire de créer un autre réseau avec le driver bridge pour répéter l'expérience ci-dessus. Un conteneur situé en dehors du réseau testnetwork ne peut pas pinguer c1 et c2 : Driver Host Un conteneur lancé avec le driver host n'est pas isolé du réseau de l'hôte. Les ports ouverts sur le conteneur sont ouverts sur l'hôte. Par exemple, un conteneur lancé à partir de l'image  🔗 strm/helloworld-http écoutera à partir du port 80 de l'hôte, même sans redirection avec  --port . Le nom d'hôte du conteneur est affiché. Il est hérité depuis la machine hôte. Gestion des réseaux Il est possible de connecter un conteneur à un réseau existant avec docker network connect . Le détail d'un réseau peut être affiché avec la commande docker network inspect . Un réseau bridge embarque une configuration IP, de la même manière qu'un réseau local. Le réseau est défini par un subnet et il possède une IP gateway attribuée à la machine hôte. Dans l'exemple ci-dessus, le réseau reseau2 possède le subnet 172.19.0.0 avec un masque de sous-réseau 255.255.0.0 (ou /16 ). L'adresse IP de la machine hôte est 172.19.0.1 et celle du conteneur c5 est 172.19.0.2 .