2.2 KiB
2.2 KiB
status, type, tags, updated, title, created
| status | type | tags | updated | title | created | |
|---|---|---|---|---|---|---|
| stable | concept |
|
2026-02-27 | Docker - Дополнительные Знания | 2025-12-17 |
Docker - Дополнительные Знания
Запуск Контейнера С Непривилегированным Пользователем
Рассмотрим пример работы с непривилегированным пользователем:
- не использовать root внутри контейнера и не запускать его с повышенными привелегиями
- создать пользователя можно сразу создать в Dockerfile
- переключить пользователя можно с помощью директивы USER в Dockerfile
FROM mariadb
USER 999
Rootless-mode - Podman
Docker решил предпринять попытки отказаться от docker daemon и docker socket с root привилегиями и разрабатывает концепцию rootless-mode
- Идея нетривиальна в реализации, так как возникают особенности установки бинарников и запуска скриптов.
- Логичной заменой есть Podman, написанный на golang, она уже rootless и daemonless по умолчанию.
- Podman обратно совместим в docker (в т.ч. собирает свои образы из Dockerfile)
- Существует podman builder, позволяющий описывать образы с помощью bash.
- Практически все команды докера существуют в подмане.
Связанные заметки
- Super-user — "не использовать root внутри контейнера" — прямое применение принципа наименьших привилегий из Linux; rootless Podman реализует его на уровне демона
- Проблемы дистрибутивов — реальный кейс: запуск Rails в контейнере как решение проблемы OpenSSL на Arch Linux