Resource Requirements
docker run
has many options,service create
has different optionsSet at
service create/update
, but are controlled per-containerSet for CPU and memory, reserving and limiting
Maximum given to container
--limit-cpu .5
--limit-memory 256M
Beware of OOME (with or without limits)
when memory resource limit is hit, container will be killed and rescheduled
Minimum free needed to schedule container (Swarm keeps track)
--reserve-cpu .5
--reserve-memory 256M
Examples
Reserve cpu and memory
docker service create --reserve-memory 800M --reserve-cpu 1 mysql
Limit cpu and memory
docker service create --limit-memory 150M --limit-cpu .25 nginx
Service update is the same
Remove them with update to 0
docker service update --limit-memory 0 --limit-cpu 0 myservice
Resource Requirements in Stack Files
version: "3.1"
services:
database:
image: mysql
deploy:
resources:
limits:
cpus: '1'
memory: 1G
reservations:
cpus: '0.5'
memory: 500M
External links
Last updated
Was this helpful?