我有一个自动生成的 docker 容器,它创建了一个构建输出。这些文件由 root 用户创建,例如 /home/buildUser/bla/。
现在 buildUser 无法再删除这些文件,因为它们归 root 所有,而 buildUser 没有管理员权限。我该如何解决这个问题?我更喜欢不需要每次都运行脚本的解决方案。我也无法修改 docker 容器,因为第三方需要 root 权限...
答案1
如果容器可以创建 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 的危险。