Rețele Docker

Docker intermediar

Mike Metzger

Data Engineering Consultant

Rețelistică Docker

  • Docker oferă opțiuni extinse de rețea
  • Se pot crea rețele pentru comunicarea între containere, gazdă și sisteme externe
  • Vor fi prezentate diverse comenzi pentru lucrul cu rețelele.
Docker intermediar

Tipuri de rețele Docker

  • Docker suportă diferite tipuri de rețea, prin drivere
    • bridge: Driver implicit; permite conexiuni ieșire și intrare dacă sunt expuse
    • host: Comunicare completă între gazdă și containere
    • none: Izolează containerul de comunicațiile de rețea
    • Multe altele, inclusiv drivere personalizate
  • Se va folosi în principal driverul bridge pentru rețele proprii
Docker intermediar

Lucrul cu rețelele Docker

Câteva comenzi:

  • docker network
    • docker network <command>
    • docker network <command> --help
    • docker network ls pentru a lista toate rețelele Docker de pe gazdă
    • docker network create pentru a crea o rețea
    • docker network rm pentru a elimina o rețea
Docker intermediar

Exemplu rețea Docker

  • Crearea unei rețele Docker numite 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 intermediar

Atașarea containerelor la rețele

  • Cum se conectează un container la o rețea?
  • docker run --network <networkname> ...
  • docker run --network mynetwork ubuntu bash
  • Se pot conecta containere și ulterior
    • docker network connect <networkname> <container>
    • docker network connect mynetwork ubuntu-B
Docker intermediar

docker network inspect

  • Cum se verifică detaliile unei rețele?
  • docker network inspect <networkname>
  • Oferă informații de configurare și adresele IP atribuite containerelor
    repl@host:~$ docker network inspect mynetwork
    
Docker intermediar

Exemplu 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 intermediar

Să exersăm!

Docker intermediar

Preparing Video For Download...