首页 > 解决方案 > 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 访问权限的情况下更改文件的权限或所有者,或者有什么方法可以从一开始就避免这种情况?

标签: dockerpermissionsdocker-volume

解决方案


您可以使用用户映射运行 docker,因此使用 uid 0(容器中的根目录)创建的任何文件都会自动映射到主机上的另一个 uid。这由两个文件/etc/subuid/etc/subgid.

阅读官方文档


推荐阅读