Réseaux Docker

Docker intermédiaire

Mike Metzger

Data Engineering Consultant

Mise en réseau Docker

  • Docker offre de vastes options réseau
  • Permet de créer des réseaux entre conteneurs, hôte et systèmes externes
  • Nous verrons diverses commandes pour interagir avec les réseaux.
Docker intermédiaire

Types de mise en réseau Docker

  • Docker prend en charge différents types de réseau, via des pilotes
    • bridge : pilote par défaut, sorties autorisées, entrées si exposées
    • host : communication complète entre l'hôte et les conteneurs
    • none : isole le conteneur du réseau
    • Plusieurs autres, y compris des pilotes personnalisés
  • Nous utiliserons surtout le pilote bridge pour créer nos réseaux
Docker intermédiaire

Travailler avec les réseaux Docker

Plusieurs commandes :

  • docker network
    • docker network <command>
    • docker network <command> --help
    • docker network ls pour lister tous les réseaux Docker sur l'hôte
    • docker network create pour créer un réseau
    • docker network rm pour supprimer un réseau
Docker intermédiaire

Exemple de réseau Docker

  • Créer un réseau Docker nommé mynetwork
    repl@host:~$ docker network create mynetwork
    
5ff0febab98f73b74dd753eb44a30f7d7291052b3b1d58b0134589221cb8e33d
repl@host:~$ docker network ls

NETWORK ID NAME DRIVER SCOPE 2edc5ae4838c bridge bridge local a92988382711 host host local 5ff0febab98f mynetwork bridge local 5464ed866dad none null local
Docker intermédiaire

Attacher des conteneurs aux réseaux

  • Comment connecter un conteneur à un réseau ?
  • docker run --network <networkname> ...
  • docker run --network mynetwork ubuntu bash
  • On peut aussi connecter des conteneurs après coup
    • docker network connect <networkname> <container>
    • docker network connect mynetwork ubuntu-B
Docker intermédiaire

docker network inspect

  • Comment vérifier les détails d'un réseau ?
  • docker network inspect <networkname>
  • Donne la configuration et les adresses IP attribuées aux conteneurs
    repl@host:~$ docker network inspect mynetwork
    
Docker intermédiaire

Exemple : docker network inspect

        "Name": "mynetwork",
        ...
        "Driver": "bridge",
        ...
        Containers": {    "2be08aa942029191350d4bceb8816254af8713dd6f7dcbadcab8f068f7dbfdfa": {
                "Name": "unruffled_kare",
                "EndpointID": "29739356ae200e1e901d2eabef05efaca0fb37e1a4e1a4c3bf369f2892ca6c4b",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
Docker intermédiaire

Passons à la pratique !

Docker intermédiaire

Preparing Video For Download...