Files
SecondBrain/90 Library/02 DevOps/Контейнеризация/Docker/Docker - Дополнительные знания.md
T
2026-05-14 10:49:10 +03:00

2.2 KiB
Raw Blame History

status, type, tags, created, updated, title
status type tags created updated title
stable concept
devops
containerization
docker
2025-12-17 2026-05-07 Docker - Дополнительные Знания

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