我拥有一个文件夹/me/tmp
,我在其中安装了一个docker卷:docker run -v /me/tmp/:/root/tmp/
。但是,当我的Docker容器创建文件夹和文件而不是目录时,例如/root/tmp/subdir/file.txt
该文件被创建为root,并且对其他组或用户没有写权限。这意味着在容器之外,我无法编辑甚至删除此文件/me/tmp/subdir/file.txt
。是否可以通过任何方法在没有root用户访问权限的情况下更改文件的权限或所有者,或者可以从一开始就避免这种情况?
答案 0 :(得分:0)
尝试在dockerfile中运行RUN chmod -R 777 /root/tmp/
或RUN chmod 777 /root/tmp/
,或进入容器并以root用户身份键入chmod -R 777 /root/tmp
或chmod 777 /root/tmp
。 -R
用于递归
答案 1 :(得分:0)
您可以使用用户映射来运行docker,因此,使用uid 0(容器中的根目录)创建的任何文件都会自动映射到主机上的另一个uid。这由两个文件/etc/subuid
和/etc/subgid
处理。