Sieci Docker

Docker średnio zaawansowany

Mike Metzger

Data Engineering Consultant

Sieciowanie w Dockerze

  • Docker oferuje rozbudowane opcje sieciowe
  • Umożliwia tworzenie sieci do komunikacji między kontenerami, hostem i systemami zewnętrznymi
  • Omówimy różne polecenia do zarządzania sieciami.
Docker średnio zaawansowany

Typy sieci Docker

  • Docker obsługuje różne typy sieci za pomocą sterowników
    • bridge: Domyślny sterownik; umożliwia połączenia wychodzące i przychodzące po ich ujawnieniu
    • host: Pełna komunikacja między hostem a kontenerami
    • none: Izoluje kontener od komunikacji sieciowej
    • Wiele innych, w tym sterowniki niestandardowe
  • Będziemy głównie używać sterownika bridge do tworzenia własnych sieci
Docker średnio zaawansowany

Praca z sieciami Docker

Kilka poleceń:

  • docker network
    • docker network <command>
    • docker network <command> --help
    • docker network ls — wyświetla wszystkie sieci Docker na hoście
    • docker network create — tworzy sieć
    • docker network rm — usuwa sieć
Docker średnio zaawansowany

Przykład sieci Docker

  • Utwórz sieć Docker o nazwie 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 średnio zaawansowany

Podłączanie kontenerów do sieci

  • Jak podłączyć kontener do sieci?
  • docker run --network <networkname> ...
  • docker run --network mynetwork ubuntu bash
  • Kontenery można również podłączyć później
    • docker network connect <networkname> <container>
    • docker network connect mynetwork ubuntu-B
Docker średnio zaawansowany

docker network inspect

  • Jak sprawdzić szczegóły sieci?
  • docker network inspect <networkname>
  • Wyświetla konfigurację i adresy IP przypisane do kontenerów
    repl@host:~$ docker network inspect mynetwork
    
Docker średnio zaawansowany

Przykład 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 średnio zaawansowany

Czas na ćwiczenia!

Docker średnio zaawansowany

Preparing Video For Download...