Лимиты сервиса в Docker
Лимиты сервиса задают потолок памяти и долю процессора прямо в описании. Служба применяет их к контейнеру при создании копии. Тяжёлая программа упрётся в рамки раньше, чем займёт всю машину.
Сервис web на alpine
с ожиданием и блоком
deploy с ресурсами
выглядит так:
services:
web:
image: alpine
command: ["sleep", "300"]
deploy:
resources:
limits:
cpus: "0.5"
memory: 64M
Доля процессора 0.5
и память 64M задают
верхнюю границу для всей
копии web.
Спящий процесс укладывается
в лимит без заметной нагрузки.
Фоновый подъём проекта:
docker compose up -d
В списке контейнеров сервис остаётся работать в заданных рамках, пока его не остановят.
Задайте для api на alpine потолок памяти тридцать два мегабайта и долю процессора четверть.
Поднимите проект в фоне и убедитесь, что api числится среди работающих сервисов.