Я использую Docker для создания изображений, которые я могу запускать как контейнеры. Я настраиваю свой образ как пользователь root, включая настройку томов и прочего. Но как только я настрою все это, я хотел бы отменить привилегии непривилегированному пользователю для запуска моего реального приложения. Вот что я сейчас пытаюсь сделать:
# Do privileged stuff
su myuser -c "myapplicationcommand $@"
Тем не менее, когда эти контейнеры развернуты, я, очевидно, работаю в неинтерактивной оболочке, потому что я получаю эту ошибку:
su: must be run from a terminal
Очевидно, что команда "su" требует запуска в интерактивной оболочке. Итак, мой вопрос: как я могу удалить привилегии из неинтерактивной оболочки, чтобы мое приложение могло запускаться от имени пользователя без полномочий root внутри моего контейнера Docker?