‫Pour ce cours, vous devez comprendre certains des concepts précédents concernant la mise en réseau et
‫la création de conteneurs.
‫Maintenant que nous comprenons les concepts de réseau Docker et le fonctionnement de tout le réseau virtuel
‫et IP, voyons quelques-unes des options de ligne de commande permettant de le gérer.
‫Premièrement, il y a le réseau évident ls. Comme nous pouvons créer plusieurs réseaux, nous avons sûrement une commande
‫ls pour les lister.
‫Nous avons la commande d’inspection habituelle à laquelle vous êtes probablement habitué depuis toutes les autres inspections que
‫nous effectuons.
‫Cela nous montrera les détails d'un réseau spécifique.
‫Nous avons ensuite une commande create qui comporte un pilote facultatif que nous pouvons spécifier pour utiliser des
‫pilotes intégrés et tiers afin de créer un nouveau réseau virtuel.
‫Nous avons ensuite les commandes connect et disconnect permettant de modifier un conteneur en cours d'exécution afin qu'un nouveau NIC
‫soit créé sur un réseau virtuel pour ce conteneur.
‫C'est un peu comme insérer une carte réseau dans un ordinateur pendant son fonctionnement.
‫Alors on y va.
‫Revenons donc à ma ligne de commande. Prenant les concepts que nous venons d'apprendre, je peux réellement
‫faire un réseau de dockers ls. Cela me montre tous les réseaux qui ont été créés. Dans ce cas, lorsque vous exécutez la
‫même commande, vous verrez probablement les trois mêmes. Selon votre système d'exploitation
‫et votre version de Docker, vous pouvez voir le réseau de pont appelé docker0 ou bridge,
‫mais ils signifient tous deux la même chose. C'est le réseau par défaut qui relie le pare-feu NAT au
‫réseau physique auquel votre hôte est connecté. Jusqu'à présent, nous n'avions pas à nous en
‫soucier, car tous nos conteneurs venaient de se connecter à ce réseau et fonctionnaient.
‫Maintenant que nous avons ce conteneur Nginx en cours d'exécution, si je fais une inspection du réseau docker, le réseau pont, vous verrez en fait
‫qu'il liste les conteneurs attachés à ce réseau. Vous verrez que notre version de Nginx,
‫que nous avons appelée hébergeur Web, y est attachée.
‫Vous pouvez réellement voir son adresse IP. Et vous verrez ici que ces réseaux attribuent automatiquement des adresses IP,
‫et cela vous montre ici, avec la configuration IPAM, que le sous-réseau est 172 par défaut. 17, qui est généralement le
‫réseau par défaut de tout hôte Docker.
‫Mais cela peut être changé, puis la passerelle de ce réseau qui sera éventuellement acheminée vers le
‫réseau physique.
‫Si nous retournons au réseau docker ls, nous pourrons voir ces deux autres réseaux. Nous avons déjà parlé du réseau
‫hôte. Il s’agit d’un réseau spécial qui ignore la mise en réseau virtuelle de Docker et
‫attache le conteneur directement à l’interface hôte.
‫Comme vous pouvez l'imaginer, cela présente des avantages et des inconvénients, car cela empêche les
‫limites de sécurité de la conteneurisation de protéger l'interface de ce conteneur.
‫Mais il peut également, dans certaines situations, améliorer les performances des réseaux à haut
‫débit et résoudre quelques problèmes avec des logiciels spécifiques.
‫Ensuite, nous avons le dernier de aucun, qui est un peu l'équivalent d'avoir une interface sur
‫votre ordinateur qui n'est connectée à rien, mais nous pouvons créer la nôtre.
‫Créons un réseau Docker ... créer mon_app_net.
‫Nous
‫allons maintenant refaire un réseau de dockers. Vous remarquerez qu'il a créé mon nouveau réseau virtuel avec un pilote de pont.
‫Et c'est parce que c'est le pilote par défaut.
‫C'est un simple pilote qui crée simplement un réseau virtuel localement avec son propre sous-réseau
‫quelque part autour du 172. 17 ans et plus, car cela augmentera progressivement. Donc, 17, puis 18, 19, 20 et ainsi de suite.
‫Il ne possède aucune des fonctionnalités avancées que nous verrons peut-être plus
‫tard dans ce cours, telles que les réseaux superposés qui permettent la mise en réseau privée entre hôtes et d'autres pilotes tiers tels que Weave.
‫Si vous examinez la commande docker network create avec aide, vous constaterez que je peux spécifier non seulement le pilote que
‫je souhaite utiliser, mais également les nombreuses options IP et réseau dont vous pourriez
‫avoir besoin dans un scénario avancé.
‫Nous pouvons faire plusieurs choses avec ces réseaux et comment nous les connectons à nos conteneurs.
‫Nous pouvons utiliser l'option --network lorsque nous créons un conteneur.
‫Ainsi, le conteneur docker s’appelle
‫new nginx, puis network, puis mon net app,
‫puis l’image nginx.
‫Si nous inspections le réseau Docker sur le réseau de mon application, vous constateriez que le nouveau Nginx que je viens de créer se trouve
‫maintenant sur ce réseau. Il a une nouvelle adresse IP de 172. 18
‫C'est donc le prochain sous-réseau de la liste.
‫Mais nous n’avons pas besoin de démarrer de nouveaux conteneurs, car comme dans le monde
‫réel où vous pouvez débrancher et rebrancher des périphériques Ethernet et vous reconnecter à des réseaux sans fil, vous pouvez également faire
‫de même avec les réseaux et les conteneurs existants.
‫Pour cela, nous utilisons les options de connexion et de déconnexion du réseau docker et vous pouvez utiliser --help pour
‫afficher toutes les options disponibles pour le réseau Docker.
‫Dans ce cas, nous voulons un réseau fixe et nous voulons prendre le conteneur existant que nous avons créé
‫en premier et le connecter à notre nouveau réseau.
‫Je vais choisir le nouveau réseau de mon application, puis le hébergeur original que nous avons créé.
‫Maintenant, si je fais une inspection de mon hôte Web d'origine dans le conteneur docker, vous constaterez qu'il se trouve
‫actuellement sur deux réseaux. Le réseau de pont d'origine,
‫et j'ai pratiquement fait l'équivalent de lui attribuer une nouvelle interface Ethernet sur un réseau différent,
‫avec une adresse IP différente reçue du DHCP.
‫Nous sommes donc maintenant sur le réseau du réseau.
‫Si je voulais déconnecter cela, je pourrais faire la même chose avec juste déconnecter. Ensuite, si je reviens et que je fais à nouveau une
‫inspection, vous verrez que le système est maintenant de retour avec un seul réseau.
‫Comme vous pouvez le constater, il existe de nombreuses options intéressantes pour la mise en réseau Docker et le but final ici, et
‫je préfère me vanter de conteneurs, c’est que si vous exécutez toutes les applications sur un seul serveur, dans
‫ce cas-ci , vous pouvez vraiment les protéger. Parce que dans le monde physique où
‫nous créions des machines virtuelles et des hôtes dans un réseau, nous surexposions souvent les ports et la mise en réseau
‫sur nos serveurs d'applications.
‫Dans ces cas, si vous preniez vos conteneurs d'applications et les regroupiez
‫tous dans un réseau virtuel, vous exposeriez uniquement les ports de votre hôte sur
‫lesquels vous utilisiez spécifiquement l'option -p. Et tout le reste est un peu plus sûr avec ce pare-feu protégé à
‫l'intérieur de leur réseau virtuel.
‫Plus tard, lorsque nous entrerons dans Docker Swarm, nous allons en apprendre davantage sur
‫le réseau multi-hôte et sur la façon dont il s'améliore encore lorsque nous commençons à passer à la vitesse supérieure.
‫Pour récapituler, nous venons de décrire un ensemble de commandes permettant de gérer les réseaux Docker.
‫Nous avons joué avec les commandes ls et inspect, créé un réseau Docker et utilisé le pilote de pont
‫par défaut.
‫Nous n'avions pas besoin d'utiliser un pilote -.
‫Enfin, nous avons testé les commandes de connexion réseau et de déconnexion réseau pour ajouter puis supprimer une carte réseau
‫d'un conteneur en cours d'exécution.