我拥有一个文件夹,/me/tmp
,我在其中安装了一个 docker 卷:docker run -v/me/tmp/:/root/tmp/
。但是,当我的 Docker 容器创建文件夹和文件而不是目录时,例如/root/tmp/subdir/file.txt
该文件是作为 root 创建的,其他组或用户没有写入权限。这意味着在容器外部,我无法编辑甚至删除此文件 /me/tmp/subdir/file.txt
。有什么方法可以在没有 root 访问权限的情况下更改文件的权限或所有者,或者有什么方法可以从一开始就避免这种情况?
最佳答案
您可以使用用户映射运行 docker,因此使用 uid 0(容器中的根目录)创建的任何文件都会自动映射到主机上的另一个 uid。这由两个文件 /etc/subuid
和 /etc/subgid
处理。
关于Docker 卷文件不可写,以 root 身份写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54219844/