run – Лимиты ресурсов контейнера
Описание:
Docker позволяет ограничивать использование ресурсов (CPU, память, процессы и т.д.) на уровне контейнера. Это важно при работе в проде, CI/CD или при запуске нескольких контейнеров на одной машине.
Флаг --cpus
– ограничение CPU
Структура команды:
Описание:
Ограничивает использование CPU, указывая, сколько ядра/ядер контейнер может потреблять. Например, --cpus="1.5"
разрешит полтора ядра.
Пример:
Флаг --cpu-shares
– относительный приоритет CPU
Структура команды:
Описание:
Устанавливает относительный приоритет CPU между контейнерами. Значение по умолчанию — 1024
. Больше значение — выше приоритет при конкуренции.
Пример:
Флаг --cpuset-cpus
– выбор ядер CPU
Структура команды:
Описание:
Позволяет закрепить контейнер за определёнными ядрами. Например, 0,2
— использовать только 0 и 2 ядра.
Пример:
Флаг --memory
– ограничение памяти
Структура команды:
Описание:
Устанавливает лимит оперативной памяти, доступной контейнеру. Допустимы единицы: b
, k
, m
, g
.
Пример:
Флаг --memory-swap
– лимит памяти + swap
Структура команды:
Описание:
Определяет общий лимит памяти + swap. Значение должно быть больше или равно --memory
. Если задать --memory-swap
равным --memory
, swap отключается.
Пример:
Флаг --pids-limit
– ограничение числа процессов
Структура команды:
Описание:
Устанавливает лимит на количество одновременных процессов внутри контейнера. Помогает избежать fork-бомб и перегрузок.
Пример:
Флаг --oom-kill-disable
– запрет OOM Killer
Структура команды:
Описание:
Отключает автоматическое завершение контейнера при превышении лимита памяти (Out-Of-Memory). Использовать с осторожностью!
Пример:
Флаг --ulimit
– ограничение системных ресурсов
Структура команды:
Описание:
Аналог ulimit
в Linux. Например: nofile=1024:2048
— ограничение на число открытых файлов.
Пример:
Флаг --kernel-memory
– лимит памяти ядра (устаревший)
Структура команды:
Описание:
Устанавливал лимит на использование памяти ядра. С версии Docker 20.10+ флаг устарел и больше не рекомендуется к использованию.
Пример:
📌 Вернуться к общим флагам: docker run
📌 См. также:
- 🛡️ Безопасность контейнера
- 📦 Работа с томами и маунтами
- 🧩 Продвинутые параметры