Docker 卷文件不可写,以 root 身份写入



我拥有一个文件夹,/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处理。

阅读官方文档

尝试在 dockerfile 中运行 RUN chmod -R 777 /root/tmp/RUN chmod 777 /root/tmp/,或者进入容器并键入 chmod -R 777 /root/tmpchmod 777 /root/tmp 作为 root。 -R用于递归

最新更新