Middle
Hoe wordt de resourceverdeling in Docker uitgevoerd?
sobes.tech AI
Antwoord van AI
In Docker wordt de verdeling van resources tussen containers gedaan door middel van beperkingen en quota op het gebruik van CPU, geheugen, schijf en netwerk. Dit stelt je in staat om te controleren hoeveel resources elke container kan gebruiken, om conflicten en overbelasting te voorkomen.
Belangrijkste mechanismen:
- CPU: je kunt het aantal CPU's of het aandeel van de processor tijd instellen met behulp van de vlaggen
--cpus,--cpu-shares,--cpu-quota. - Geheugen: geheugenbeperking via
--memoryen--memory-swap. - IO-blokkering: beperking van de lees/schrijf snelheid op de schijf met
--device-read-bps,--device-write-bps. - Netwerk: beperking van de netwerkbandbreedte via plugins of cgroups-instellingen.
Voorbeeld van het starten van een container met resourcebeperkingen:
docker run -d --name my_container --cpus="1.5" --memory="512m" nginx
Hier krijgt de container maximaal 1.5 CPU en 512 MB RAM.
Docker gebruikt de mogelijkheden van de Linux-kernel (cgroups) om deze beperkingen te implementeren, wat zorgt voor een efficiënte en geïsoleerde verdeling van resources tussen containers.