Skip to content

run – Безопасность контейнера

Описание:
Docker предоставляет гибкие возможности управления безопасностью контейнеров. Это позволяет ограничить доступ контейнера к системе, ядру и другим чувствительным ресурсам, а также задать права и поведение на уровне ядра Linux.


Флаг --cap-add / --cap-drop – управление Capabilities

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

docker run --cap-add=[cap] [image]
docker run --cap-drop=[cap] [image]

Описание:
Управляет Linux Capabilities — определёнными правами, которые может иметь процесс.
Например, --cap-drop=ALL удалит все права, а --cap-add=NET_ADMIN вернёт доступ к сетевым настройкам.

Пример:

docker run --cap-drop=ALL --cap-add=NET_ADMIN alpine


Флаг --security-opt – опции безопасности ядра

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

docker run --security-opt [опции] [image]

Описание:
Позволяет настраивать политики безопасности ядра: AppArmor, SELinux, seccomp и т.д.

Примеры:

# Отключить seccomp
docker run --security-opt seccomp=unconfined alpine

# Указать AppArmor профиль
docker run --security-opt apparmor=custom-profile alpine

# Использовать SELinux метки
docker run --security-opt label=type:svirt_apache_t alpine


Флаг --read-only – файловая система только для чтения

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

docker run --read-only [image]

Описание:
Монтирует корневую файловую систему контейнера как только для чтения. Повышает безопасность, исключая модификацию среды выполнения.

Пример:

docker run --read-only my_app


Флаг --device – доступ к устройствам хоста

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

docker run --device [путь_устройства] [image]

Описание:
Даёт контейнеру доступ к физическому устройству хоста, например, USB, GPU, COM-порту и т.п.

Пример:

docker run --device /dev/snd my_app


Флаг --user – запуск от имени пользователя

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

docker run --user [UID[:GID]] [image]

Описание:
Ограничивает права контейнера, запуская процессы от конкретного UID/GID. Уменьшает риск эксплуатации при уязвимостях.

Пример:

docker run --user 1000:1000 my_app


Флаг --tmpfs – монтирование временной ФС

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

docker run --tmpfs [путь] [image]

Описание:
Монтирует каталог как tmpfs — временную файловую систему в оперативной памяти. Часто используется с --read-only.

Пример:

docker run --read-only --tmpfs /tmp my_app


Флаг --privileged – привилегированный режим

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

docker run --privileged [image]

Описание:
Даёт полный доступ контейнеру ко всем устройствам хоста и отключает большинство ограничений.
⚠️ Использовать только при крайней необходимости — резко снижает изоляцию.

Пример:

docker run --privileged --rm -it alpine sh


📌 Вернуться к общим флагам: docker run
📌 См. также:
- ⚙️ Лимиты ресурсов
- 📦 Маунты и файловая система
- 🧩 Другие флаги и настройки