Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker卷文件不可写,以根目录形式写入_Docker_Permissions_Docker Volume - Fatal编程技术网

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
处理

阅读

这可能会有所帮助: