【问题标题】:Docker volume files not writable, written as rootDocker卷文件不可写,写为root
【发布时间】:2019-06-10 16:53:32
【问题描述】:

我拥有一个文件夹,/me/tmp,我在其中安装了一个 docker 卷:docker run -v /me/tmp/:/root/tmp/。但是,当我的 Docker 容器创建文件夹和文件而不是目录时,例如/root/tmp/subdir/file.txt 该文件以 root 身份创建,对其他组或用户没有写权限。这意味着在容器之外,我无法编辑甚至删除此文件/me/tmp/subdir/file.txt。有没有什么方法可以在没有 root 访问权限的情况下更改文件的权限或所有者,或者有什么方法可以从一开始就避免这种情况?

【问题讨论】:

标签: docker permissions docker-volume


【解决方案1】:

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

阅读official docs

【讨论】:

    【解决方案2】:

    尝试在 dockerfile 中运行 RUN chmod -R 777 /root/tmp/RUN chmod 777 /root/tmp/,或者进入容器并以 root 身份输入 chmod -R 777 /root/tmpchmod 777 /root/tmp-R 用于递归

    【讨论】:

      猜你喜欢
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 2020-11-21
      • 2020-05-05
      相关资源
      最近更新 更多