Sobes.tech
Junior

Kas yra Docker tinklo konteinerizacijos modulis?

sobes.tech AI

Atsakymas iš AI

Konteinerių tinklo modulis (Container Network Module, CNM) yra Docker specifikacija, apibrėžianti sąveikos modelį tarp konteinerių ir išorinio pasaulio. Jis susideda iš trijų pagrindinių primitivių:

  • Sandbox: Konteinerio tinklo sluoksnis, apimantis jo sąsajas, maršrutų lenteles ir DNS.
  • Endpoint: Sandbox'o prijungimo taškas prie tinklo.
  • Network: Tinklo segmentas, prie kurio galima prijungti Endpoints. Konteineriai toje pačioje tinkle gali bendrauti tarpusavyje.

CNM teikia papildinių sąsają, leidžiančią įvairiems tvarkyklėms įgyvendinti tinklo funkcijas. Docker Engine valdo Sandbox'us ir Endpoints'us, o tinklo tvarkyklės atsakingos už tinklų kūrimą ir konfigūravimą.

Pavyzdžiai įmontuotų Docker tinklo tvarkyklės:

  • bridge: Sukuria NAT tinklą konteineriams, kurie gali bendrauti tarpusavyje ir su išoriniu pasauliu per IP.
  • host: Konteineris naudoja tiesiogiai šeimininko tinklo sluoksnį.
  • none: Konteineris neturi tinklo sąsajos.
  • overlay: Sukuria paskirstytą tinklą tarp kelių Docker šeimininkų swarm paslaugoms.

Pavyzdys, kaip sukurti bridge tinklą:

docker network create my_bridge_network

Prijungti konteinerį prie šio tinklo:

docker run -d --network my_bridge_network nginx