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

时间:2019-01-16 15:01:03

标签: 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用户访问权限的情况下更改文件的权限或所有者,或者可以从一开始就避免这种情况?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

阅读official docs