Моя проблема заключается в следующем: мне нужно запустить контейнер с запущенной службой dnsmasq (но это может быть любая служба). Трудность заключается в том, что я создал пользователя на моем изображении, поэтому, когда я создаю контейнер из него, он начинается с моего пользовательского пользователя (без root).Запуск процесса в файле Docker
Поэтому, как я могу запустить службу, которая требует прав root (sudo service dnsmasq start), с пользователем без полномочий root?
Возможные решения:
- быть в состоянии начать контейнер служба уже запущена. Из того, что я понимаю, невозможно запустить службу в файле Docker, поскольку он не сохраняет состояние, только FS
- запускает контейнер с правами пользователя root, запустит службу и затем вернется к пользователю. Это может сработать, но потенциально может возникнуть проблема безопасности
- Позвольте моему пользовательскому пользователю иметь право запускать сервис самостоятельно. Как это сделать ?
- не использовать пользовательский пользователь (вероятно, самый простой способ, но эй? Где удовольствие? :))
Любое другое решение?
Как насчет этого ответа: http://askubuntu.com/a/90727 . Затем вы можете установить его, чтобы пользователю не нужно вводить пароль с помощью 'NOPASSWD'. – Rickkwa