Skip to content

run – Лимиты ресурсов контейнера

Описание:
Docker позволяет ограничивать использование ресурсов (CPU, память, процессы и т.д.) на уровне контейнера. Это важно при работе в проде, CI/CD или при запуске нескольких контейнеров на одной машине.


Флаг --cpus – ограничение CPU

Структура команды:

docker run --cpus="[кол-во ядер]" [image]

Описание:
Ограничивает использование CPU, указывая, сколько ядра/ядер контейнер может потреблять. Например, --cpus="1.5" разрешит полтора ядра.

Пример:

docker run --cpus="2.0" my_app


Флаг --cpu-shares – относительный приоритет CPU

Структура команды:

docker run --cpu-shares [значение] [image]

Описание:
Устанавливает относительный приоритет CPU между контейнерами. Значение по умолчанию — 1024. Больше значение — выше приоритет при конкуренции.

Пример:

docker run --cpu-shares 512 my_app


Флаг --cpuset-cpus – выбор ядер CPU

Структура команды:

docker run --cpuset-cpus="[ядра]" [image]

Описание:
Позволяет закрепить контейнер за определёнными ядрами. Например, 0,2 — использовать только 0 и 2 ядра.

Пример:

docker run --cpuset-cpus="0,2" my_app


Флаг --memory – ограничение памяти

Структура команды:

docker run --memory="[объём]" [image]

Описание:
Устанавливает лимит оперативной памяти, доступной контейнеру. Допустимы единицы: b, k, m, g.

Пример:

docker run --memory="512m" my_app


Флаг --memory-swap – лимит памяти + swap

Структура команды:

docker run --memory="512m" --memory-swap="1g" [image]

Описание:
Определяет общий лимит памяти + swap. Значение должно быть больше или равно --memory. Если задать --memory-swap равным --memory, swap отключается.

Пример:

docker run --memory="1g" --memory-swap="2g" my_app


Флаг --pids-limit – ограничение числа процессов

Структура команды:

docker run --pids-limit [число] [image]

Описание:
Устанавливает лимит на количество одновременных процессов внутри контейнера. Помогает избежать fork-бомб и перегрузок.

Пример:

docker run --pids-limit 100 my_app


Флаг --oom-kill-disable – запрет OOM Killer

Структура команды:

docker run --memory="512m" --oom-kill-disable [image]

Описание:
Отключает автоматическое завершение контейнера при превышении лимита памяти (Out-Of-Memory). Использовать с осторожностью!

Пример:

docker run --memory="256m" --oom-kill-disable my_app


Флаг --ulimit – ограничение системных ресурсов

Структура команды:

docker run --ulimit [тип]=[значение] [image]

Описание:
Аналог ulimit в Linux. Например: nofile=1024:2048 — ограничение на число открытых файлов.

Пример:

docker run --ulimit nofile=1024:2048 my_app


Флаг --kernel-memory – лимит памяти ядра (устаревший)

Структура команды:

docker run --kernel-memory="[объём]" [image]

Описание:
Устанавливал лимит на использование памяти ядра. С версии Docker 20.10+ флаг устарел и больше не рекомендуется к использованию.

Пример:

docker run --kernel-memory="50m" my_app


📌 Вернуться к общим флагам: docker run
📌 См. также:
- 🛡️ Безопасность контейнера
- 📦 Работа с томами и маунтами
- 🧩 Продвинутые параметры