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
Can';t使用Docker windows更改卷上文件/文件夹的权限_Windows_Docker_Docker For Windows - Fatal编程技术网

Can';t使用Docker windows更改卷上文件/文件夹的权限

Can';t使用Docker windows更改卷上文件/文件夹的权限,windows,docker,docker-for-windows,Windows,Docker,Docker For Windows,我试图使用Docker windows更改卷上文件/文件夹的权限。但权限没有意外更改 环境: 主持人:Windows10Pro Docker版本17.09.0-ce,构建afdb6d4 复制步骤: 使用下面的Dockerfile构建一个映像 使用卷运行容器 更改文件/文件夹的权限 Dockerfile: FROM microsoft/windowsservercore CMD [ "powershell" ] 产出: D:\data\docker\sample>docker build

我试图使用Docker windows更改卷上文件/文件夹的权限。但权限没有意外更改

环境: 主持人:Windows10Pro Docker版本17.09.0-ce,构建afdb6d4

复制步骤:

  • 使用下面的Dockerfile构建一个映像
  • 使用卷运行容器
  • 更改文件/文件夹的权限
  • Dockerfile:

    FROM microsoft/windowsservercore
    CMD [ "powershell" ]
    
    产出:

    D:\data\docker\sample>docker build -t sample .
    Sending build context to Docker daemon  1.272GB
    Step 1/2 : FROM microsoft/windowsservercore
     ---> 2cddde20d95d
    Step 2/2 : CMD powershell
     ---> Running in dd207fe8b262
     ---> e0203df155cd
    Removing intermediate container dd207fe8b262
    Successfully built e0203df155cd
    Successfully tagged sample:latest
    
    D:\data\docker\sample>docker run -d --name sample --mount type=volume,source=sample_volume,target=C:/data sample ping -t localhost
    5a21f41d63de321e912ec3b99010a062d2e04d5f99145c6cd8bf649d3fbbebf1
    
    D:\data\docker\sample>docker exec -i sample cmd
    Microsoft Windows [Version 10.0.14393]
    (c) 2016 Microsoft Corporation. All rights reserved.
    
    C:\>cd c:\data
    cd c:\data
    
    c:\data>MKDIR foo
    MKDIR foo
    
    c:\data>ECHO hoge > foo\hoge.txt
    ECHO hoge > foo\hoge.txt
    
    c:\data>cacls foo
    cacls foo
    c:\data\foo NT AUTHORITY\SYSTEM:(OI)(CI)(ID)F
                BUILTIN\Administrators:(OI)(CI)(ID)F
                CREATOR OWNER:(OI)(CI)(IO)(ID)F
                BUILTIN\Users:(OI)(CI)(ID)R
                BUILTIN\Users:(CI)(ID)(special access:)
                                      FILE_WRITE_DATA
                                      FILE_APPEND_DATA
                                      FILE_WRITE_EA
                                      FILE_WRITE_ATTRIBUTES
    
    
    
    c:\data>cacls foo\hoge.txt
    cacls foo\hoge.txt
    c:\data\foo\hoge.txt NT AUTHORITY\SYSTEM:(ID)F
                         BUILTIN\Administrators:(ID)F
                         BUILTIN\Users:(ID)R
    
    
    c:\data>cacls foo /T /E /G everyone:F
    cacls foo /T /E /G everyone:F
    processed dir: c:\data\foo
    processed file: c:\data\foo\hoge.txt
    
    c:\data>cacls foo
    cacls foo
    c:\data\foo NT AUTHORITY\SYSTEM:(OI)(CI)(ID)F
                BUILTIN\Administrators:(OI)(CI)(ID)F
                CREATOR OWNER:(OI)(CI)(IO)(ID)F
                BUILTIN\Users:(OI)(CI)(ID)R
                BUILTIN\Users:(CI)(ID)(special access:)
                                      FILE_WRITE_DATA
                                      FILE_APPEND_DATA
                                      FILE_WRITE_EA
                                      FILE_WRITE_ATTRIBUTES
    
    
    
    c:\data>cacls foo\hoge.txt
    cacls foo\hoge.txt
    c:\data\foo\hoge.txt NT AUTHORITY\SYSTEM:(ID)F
                         BUILTIN\Administrators:(ID)F
                         BUILTIN\Users:(ID)R
    
    我发现了一个文档,上面说不能在Linux容器上更改卷上文件/文件夹的权限。但我找不到有关Windows容器的文档。Windows容器是否支持在Windows容器上对卷上的文件/文件夹进行权限更改

    链接:

    • 日志和故障排除| Docker文档

    从您刚才提到的链接来看,docker for windows似乎不支持更改文件权限

    Docker for Windows当前基于 不支持细粒度chmod的Microsoft SMB协议 控制这些权限


    从您在问题中提到的链接来看,docker for windows似乎不支持更改文件权限

    Docker for Windows当前基于 不支持细粒度chmod的Microsoft SMB协议 控制这些权限


    谢谢你的回答。我认为这是Docker for Windows上的Linux容器的情况。有关于Windows容器的文档吗?“Docker for Windows”指的是在Windows平台上运行的所有容器,我理解。非常感谢你!谢谢你的回答。我认为这是Docker for Windows上的Linux容器的情况。有关于Windows容器的文档吗?“Docker for Windows”指的是在Windows平台上运行的所有容器,我理解。非常感谢你!