--- status: stable type: concept tags: - devops - containerization - docker created: 2025-12-17 updated: 2026-05-07 aliases: - Docker - Дополнительные Знания --- # Docker - Дополнительные Знания ## Запуск Контейнера С Непривилегированным Пользователем Рассмотрим пример работы с непривилегированным пользователем: - не использовать root внутри контейнера и не запускать его с повышенными привелегиями - создать пользователя можно сразу создать в Dockerfile - переключить пользователя можно с помощью директивы **USER** в Dockerfile ```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