Docker卷文件不可写,以根目录形式写入
我拥有一个文件夹,Docker卷文件不可写,以根目录形式写入,docker,permissions,docker-volume,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访问权限的情况下更改文件的权限或所有者,或者从一开始就避免这种情况?尝试在doc
/me/tmp
,我将docker卷装入其中:docker run-v/me/tmp/:/root/tmp/
。但是,当我的Docker容器创建文件夹和文件而不是目录时,例如/root/tmp/subdir/file.txt
,该文件被创建为root,并且没有其他组或用户的写入权限。这意味着在容器外部,我无法编辑甚至删除此文件/me/tmp/subdir/file.txt
。是否有任何方法可以在没有root访问权限的情况下更改文件的权限或所有者,或者从一开始就避免这种情况?尝试在dockerfile中运行运行chmod-R 777/root/tmp/
或运行chmod 777/root/tmp/
,或者进入容器并键入chmod-R 777/root/tmp
或chmod 777/root/tmp
作为root。-R
用于递归您可以使用用户映射运行docker,因此使用uid 0(容器中的根目录)创建的任何文件都会自动映射到主机上的另一个uid。这由两个文件/etc/subuid
和/etc/subgid
处理
阅读这可能会有所帮助: