Docker-netwerken

Docker voor gevorderden

Mike Metzger

Data Engineering Consultant

Docker-networking

  • Docker heeft uitgebreide netwerkopties
  • Je kunt netwerken maken voor communicatie tussen containers, host en externe systemen
  • We behandelen verschillende commands om met netwerken te werken
Docker voor gevorderden

Types Docker-netwerken

  • Docker ondersteunt verschillende netwerktypes via drivers
    • bridge: Standaard; uitgaand verkeer oké, inkomend als poorten zijn blootgesteld
    • host: Volledige communicatie tussen host en containers
    • none: Isoleert container van netwerkverkeer
    • Veel andere, incl. custom drivers
  • We gebruiken vooral de bridge-driver om eigen netwerken te maken
Docker voor gevorderden

Werken met Docker-netwerken

Verschillende commands:

  • docker network
    • docker network <command>
    • docker network <command> --help
    • docker network ls om alle netwerken op de host te tonen
    • docker network create om een netwerk te maken
    • docker network rm om een netwerk te verwijderen
Docker voor gevorderden

Voorbeeld: Docker-netwerk

  • Maak een Docker-netwerk 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 voor gevorderden

Containers aan netwerken koppelen

  • Hoe koppel je een container aan een netwerk?
  • docker run --network <networkname> ...
  • docker run --network mynetwork ubuntu bash
  • Je kunt containers ook later koppelen
    • docker network connect <networkname> <container>
    • docker network connect mynetwork ubuntu-B
Docker voor gevorderden

docker network inspect

  • Hoe bekijk je netwerkdetails?
  • docker network inspect <networkname>
  • Geeft configuratie en IP-adressen van containers
    repl@host:~$ docker network inspect mynetwork
    
Docker voor gevorderden

voorbeeld: 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 voor gevorderden

Laten we oefenen!

Docker voor gevorderden

Preparing Video For Download...