Réseaux Docker

Docker : niveau intermédiaire

Mike Metzger

Data Engineering Consultant

Réseautage Docker

  • Docker offre de nombreuses options réseau
  • Vous pouvez créer des réseaux pour relier conteneurs, hôte et systèmes externes
  • Nous verrons diverses commandes pour interagir avec les réseaux.
Docker : niveau intermédiaire

Types de réseaux Docker

  • Docker prend en charge plusieurs types de réseau via des pilotes
    • bridge : pilote par défaut, sorties autorisées, entrées si exposées
    • host : communication totale entre l'hôte et les conteneurs
    • none : isole le conteneur du réseau
    • Beaucoup d'autres, y compris des pilotes personnalisés
  • Nous utiliserons surtout le pilote bridge pour créer nos réseaux
Docker : niveau 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 de l'hôte
    • docker network create pour créer un réseau
    • docker network rm pour supprimer un réseau
Docker : niveau intermédiaire

Exemple de réseau Docker

  • Créez 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 : niveau intermédiaire

Rattacher des conteneurs aux réseaux

  • Comment connecter un conteneur à un réseau ?
  • docker run --network <networkname> ...
  • docker run --network mynetwork ubuntu bash
  • Vous pouvez aussi connecter les conteneurs plus tard
    • docker network connect <networkname> <container>
    • docker network connect mynetwork ubuntu-B
Docker : niveau intermédiaire

docker network inspect

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

Passons à la pratique !

Docker : niveau intermédiaire

Preparing Video For Download...