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

标签 docker permissions docker-volume

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

阅读official docs

关于Docker 卷文件不可写,以 root 身份写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54219844/

相关文章:

python - Django Rest框架 View 集权限 "create"没有 "list"

docker - .dockeringore文件可以包含卷文件夹吗?

apache - 如何从 nextcloud docker 容器获取更详细的日志

mongodb - Docker mongo auth SCRAM-SHA-1

php - Laravel 获取用户权限

Docker-compose 命名挂载卷

amazon-web-services - 使用 CloudFormation 将临时存储附加到 Fargate 服务 - 找到预期类型 : JSONArray,:JSONObject

docker - 安装错误的Docker卷无法删除

docker - Jenkins 工作区中的@tmp 文件夹是什么以及如何清理它们

python - Dockerfile中的CHMOD用于python