Files
SecondBrain/90 Library/Containers/Docker/Docker - Дополнительные знания.md
T
2026-05-31 10:18:48 +03:00

40 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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