Junior
Mi a hálózati konténerizációs modul a Dockerben?
sobes.tech MI
Válasz az MI-től
A Konténerhálózati Modul (Container Network Module, CNM) egy Docker-specifikáció, amely meghatározza a konténerek és a külső világ közötti kölcsönhatási modellt. Három fő primitívből áll:
- Sandbox: A konténer hálózati verem, amely tartalmazza az interfészeit, útválasztási tábláit és DNS-ét.
- Endpoint: A Sandbox hálózathoz való csatlakozási pontja.
- Network: A hálózati szegmens, amelyhez az Endpoints csatlakozhatnak. Az ugyanabban a hálózatban lévő konténerek kommunikálhatnak egymással.
A CNM egy plug-in interfészt biztosít, amely lehetővé teszi különböző meghajtók számára, hogy hálózati funkciókat valósítsanak meg. A Docker Engine kezeli a Sandboxokat és Endpointeokat, míg a hálózati meghajtók felelősek a hálózatok létrehozásáért és konfigurálásáért.
Beépített Docker hálózati meghajtók példái:
- bridge: NAT-hálózatot hoz létre a konténerek számára, amelyek egymással és a külső világgal kommunikálhatnak az IP-n keresztül.
- host: A konténer közvetlenül használja a gazda hálózati veremét.
- none: A konténernek nincs hálózati interfésze.
- overlay: Egy elosztott hálózatot hoz létre több Docker gazdagép között a swarm-szolgáltatásokhoz.
Példa egy bridge-hálózat létrehozására:
docker network create my_bridge_network
Egy konténer csatlakoztatása ehhez a hálózathoz:
docker run -d --network my_bridge_network nginx