Intereting Posts
Могу ли я запустить существующее приложение ASP.NET MVC в Docker без преобразования в ASP.NET Core в Linux? Процесс Node.js, работающий в контейнере Docker, зависает без выхода или металирования, когда из памяти Время ожидания докера – как исправить, не разрушая машину? Доклер Elasticsearch Массовый индексный тайм-аут RoR Обработка сообщений с очереди сообщений Восстановить / удалить Mesos после очистки Использование изображения докеров для хранения файлов данных localhost не работает окна докеров 10 Как маршрутизировать порты между контейнерами докеров на узле ubuntu запуск докеров на докер-машине Можно ли запустить мои тесты метеоров в докер? Сломанная трубка плагина Docker на osx Несколько мастеров / менеджеров в Docker Ошибка прокси-сервера WordPress 502: прокси-сервер получил неверный ответ от восходящего сервера Прерывание сети Kafka-node с Zookeeper (вне докеров)

Привилегии в контейнере Docker Ubuntu после инструкции USER в файле Dockerfile

Я создал файл Dockerfile

FROM ubuntu:latest 

как родительское изображение.

Позже Dockerfile создает новую группу и пользователя без привилегий sudo через

 RUN groupadd -r myappuser -g 433 RUN useradd -u 431 -r -g myappuser -d /opt/myapp -s /bin/false -c "my app user" myappuser 

Перед выполнением приложения я переключаюсь на этот новый

 USER myappuser 

Вопрос. Позволяет ли этот параметр снова получать привилегии root после сборки изображения и запуска контейнера (например, docker exec -it )?

Если вы не хотите использовать sudo, у вас может быть Dockerfile без USER (поэтому он запускает команду как root), а CMD указывает на скрипт, который переключается на пользователя, таким образом, исполняемый файл docker exec запускается с правами root.

Другой способ – установить пароль root и использовать su . Пример этого – в изображениях тутума

https://github.com/tutumcloud/tutum-centos/blob/master/set_root_pw.sh