Docker-nätverk

Docker för medelnivå

Mike Metzger

Data Engineering Consultant

Docker-nätverk

  • Docker har omfattande nätverksfunktioner
  • Nätverk kan skapas för kommunikation mellan containrar, värd och externa system
  • Vi går igenom olika kommandon för att arbeta med nätverk.
Docker för medelnivå

Docker-nätverkstyper

  • Docker stöder olika nätverkstyper via drivrutiner
    • bridge: Standarddrivrutin, tillåter utgående anslutningar och inkommande om de exponeras
    • host: Möjliggör full kommunikation mellan värd och containrar
    • none: Isolerar containern från nätverkskommunikation
    • Många andra, inklusive anpassade drivrutiner
  • Vi använder främst bridge-drivrutinen för att skapa egna nätverk
Docker för medelnivå

Arbeta med Docker-nätverk

Några kommandon:

  • docker network
    • docker network <command>
    • docker network <command> --help
    • docker network ls – listar alla Docker-nätverk på värden
    • docker network create – skapar ett nätverk
    • docker network rm – tar bort ett nätverk
Docker för medelnivå

Exempel på Docker-nätverk

  • Skapa ett Docker-nätverk med namnet 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 för medelnivå

Ansluta containrar till nätverk

  • Hur ansluter man en container till ett nätverk?
  • docker run --network <networkname> ...
  • docker run --network mynetwork ubuntu bash
  • Containrar kan även anslutas i efterhand
    • docker network connect <networkname> <container>
    • docker network connect mynetwork ubuntu-B
Docker för medelnivå

docker network inspect

  • Hur kontrollerar man nätverkets detaljer?
  • docker network inspect <networkname>
  • Visar konfigurationsinformation och IP-adresser tilldelade till containrar
    repl@host:~$ docker network inspect mynetwork
    
Docker för medelnivå

Exempel på 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 för medelnivå

Nu kör vi en övning!

Docker för medelnivå

Preparing Video For Download...