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