Skip to content

Rodzaje sieci w Docker

W Docker istnieje wiele rodzai sieci, w zależności od oczekiwanych zastosowań.

Wyróżniamy sieci takie jak: - none - bridge - user-defined bridge - host - macVLAN - IPVlan - tryb L2 oraz L3 - Overlay Network

None

Kontener nie otrzymuje żadnego interfejsu sieciowego (po za loopback).

Bridge

Najbardziej podstawowy rodzaj sieci w Docker. Po zainstalowaniu Docker domyślnie tworzony jest mostek sieciowy o nazwie docker0. Do niego domyślnie przypisywane są nowo tworzone kontenery bez żadnych konfiguracji sieciowych. W ramach tej sieci działa DHCP, DNS. Domyślnie jest to podsieć 172.17.0.1/16.

User-defined bridge

Identyczny rodzaj sieci, co bridge, lecz tworzony jest przez administratora, przypisywana jest nowa nazwa sieci, a także nowo dobierana pula adresowa.

Host

Sieć łącząca bezpośrednio hosta z kontenerem, kontener otrzymuje ten sam adres IP, co host, przekazywane są wszystkie interfejsy dostępne na hoście.

macVLAN

Rodzaj sieci w Docker umożliwiającej uruchamianie kontenerów w ramach lokalnej sieci w której znajduje się host. Czyli, kontenery mogą być traktowane jak kolejne instancje w naszej sieci lokalnej, jako maszyny z własnymi adresami IP. Należy tylko przypisać konkretny interfejs hosta, który będzie wykorzystywany, przy tworzeniu takiej sieci.

Aby działało to poprawnie należy włączyć tryb nasłuchiwania (promiscuous).

Możliwe jest też dodawanie tagów 802.1q VLAN. Dodajemy nowe tagi VLAN do kontenerów (tworzymy nowy bridge z tagowanym ruchem). Po utworzeniu tej sieci powstaje nowy interfejs <interfejs_hosta>.<vlan_id>.

IPVlan

Działanie sieci na podobnej zasadzie co macVLAN. Kontener może znaleźć się w tej samej sieci, co host, nawet w sieci lokalnej. Host ma ten sam MAC adres co kontener. Ten rodzaj występuje w dwóch rodzajach - L2 oraz L3.

L2

W tym trybie kontener otrzymuje ten sam MAC adres co host, adres MAC mapowanego interfejsu. Kontener może znaleźć się w lokalnej sieci i mieć przypisany adres z lokalnej puli.

Mac adres hosta=mac adres kontenera, konieczne jest zresolvowanie MAC'a więc chwilę może potrwać ustanowienie połączenia z kontenerem.

L3

W tym trybie host pełni zadanie routera, nie odbywa się na nim NATowanie, jak w przypadku mostkowania, tylko routing. Możliwe jest utworzenie nowych podsieci, kontenery mogą być w niezależnych pulach adresowych. Konieczne jest dodanie routingu, przykładowo na zewnętrznym routerze lub innym hoście, do hosta na którym uruchomione są kontenery. Z poziomu kontenerów nie jest już to potrzebne.