1

У меня есть автоматически сгенерированный Docker-контейнер, который создает выходные данные сборки. Файлы создаются пользователем root, например /home /buildUser /bla /.

Теперь buildUser больше не может удалять файлы, потому что они принадлежат пользователю root, а buildUser не имеет прав администратора. Как я могу это исправить? Я бы предпочел решение, которое не требует сценария для запуска каждый раз. Я также не могу изменить Docker-контейнер, так как ему нужен root из-за какой-то третьей стороны ...

1 ответ1

2

Судя по всему, у контейнера есть привилегии root, если он может создавать файлы, принадлежащие root. Так почему бы не использовать его, чтобы снова получить root и удалить их?

Например, вы можете использовать phusion/baseimage который является оптимизированным для Docker образом Ubuntu. Если вы не можете запускать произвольные изображения, попробуйте предоставить bash в качестве команды для тех, к кому у вас есть доступ (просто замените phusion/baseimage на имя вашего изображения).

gronostaj@ubuntu:~$ docker run -it --rm -v /home/gronostaj:/mnt:z phusion/baseimage bash
root@612d766be480:/# cd /mnt
root@612d766be480:/mnt# rm -rf unwanted_folder

Поздравляю, вы только что узнали об опасностях неверно настроенного Docker.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .