Sobes.tech
Junior

Čo je modul sieťovej kontajnerizácie v Docker?

sobes.tech AI

Odpoveď od AI

Modul sieťovej kontajnerizácie (Container Network Module, CNM) je špecifikácia Dockeru, ktorá definuje model interakcie medzi kontajnermi a vonkajším svetom. Skladá sa zo štyroch hlavných primitív:

  • Sandbox: Sieťová zásobníková vrstva kontajnera, ktorá obsahuje jeho rozhrania, smerovacie tabuľky a DNS.
  • Endpoint: Bod pripojenia Sandboxu k sieti.
  • Network: Sieťový segment, ku ktorému je možné pripojiť Endpoints. Kontajnery v rovnakej sieti môžu medzi sebou komunikovať.

CNM poskytuje rozhranie pluginu, ktoré umožňuje rôznym ovládačom implementovať sieťové funkcie. Docker Engine spravuje Sandboxy a Endpoints, zatiaľ čo sieťové ovládače sú zodpovedné za vytváranie a konfiguráciu sietí.

Príklady vstavaných sieťových ovládačov Dockeru:

  • bridge: Vytvára NAT sieť pre kontajnery, ktoré môžu komunikovať medzi sebou a s vonkajším svetom cez IP hostiteľa.
  • host: Kontajner priamo používa sieťovú zásobníkovú vrstvu hostiteľa.
  • none: Kontajner nemá sieťové rozhranie.
  • overlay: Vytvára distribuovanú sieť medzi viacerými Docker hostiteľmi pre swarm služby.

Príklad vytvorenia bridge siete:

docker network create my_bridge_network

Pripojenie kontajnera k tejto sieti:

docker run -d --network my_bridge_network nginx