Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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
C# Docker卷中的写入权限_C#_Docker_Asp.net Core - Fatal编程技术网

C# Docker卷中的写入权限

C# Docker卷中的写入权限,c#,docker,asp.net-core,C#,Docker,Asp.net Core,我创建了一个docker卷,其中包含: docker volume create my-volume-name 在docker容器中运行的控制台应用程序中,我使用如下创建配置: { "HostConfig": { "Binds": [ "my-volume-name:/app/my-volume-name:rw" ], "Privileged": true } } 容器看到该卷,但没有写入该卷的任何权限。 它给了我一个权限被拒绝的错误。(下面的例外

我创建了一个docker卷,其中包含:

docker volume create my-volume-name
在docker容器中运行的控制台应用程序中,我使用如下创建配置:

{
  "HostConfig": {
    "Binds": [
      "my-volume-name:/app/my-volume-name:rw"
    ],
    "Privileged": true
  }
}
容器看到该卷,但没有写入该卷的任何权限。
它给了我一个权限被拒绝的错误。(下面的例外是我试图在卷中创建文件)

这就是我得到的:

 Access to the path '/app/my-volume-name/example.txt' is denied. ---> System.IO.IOException: Permission denied
我缺少什么才能写入我用
docker volume create
命令创建的卷?这里的目标是在主机上有一个共享卷,我创建的某些容器可以读取和写入该卷

编辑(附加的dockerfile):

当我
ls-l
在容器中时,我看到:

drwxr-xr-x 3 root root    4096 Jul  2 13:28 my-volume-name
编辑2: 在dockerfile中删除moduleuser的创建时,出现以下错误:

ERROR:System.IO.IOException: The process cannot access the file '/app/my-volume-name/example.txt' because it is being used by another process.   

但是它是创建的-所以看起来我走的是正确的道路。

docker volume create my volume name将使用root权限创建空间。请签入运行应用程序的用户所在的容器。更新卷的所有权或使用root用户运行应用程序。如果需要进一步的帮助,请提供应用程序使用的dockerfile。

我已将上面的dockerfile添加到问题的末尾。这是物联网边缘材料的一部分,moduleuser是作为其项目构建脚手架的一部分制作的。我可以试着删除它。我注释掉了moduleuser的创建,这样看来容器现在是以root用户身份运行的——看起来事情确实如预期的那样运行。文件创建成功了,我的代码中出现了一些错误,但它让我前进了。我会把你的答案标记为正确的-谢谢Rohit。不客气,杰森。请也接受这个答案。如果要使用
moduleuser
,请告诉我。
drwxr-xr-x 3 root root    4096 Jul  2 13:28 my-volume-name
ERROR:System.IO.IOException: The process cannot access the file '/app/my-volume-name/example.txt' because it is being used by another process.