2017-10-06 24 views
0

Dockerウィンドウでボリューム上のファイル/フォルダのアクセス許可を変更しようとしました。ただし、予期せずアクセス権は変更されません。Dockerウィンドウでボリューム上のファイル/フォルダのアクセス許可を変更できません

環境: ホスト:Windowsの10プロ ドッカーバージョン17.09.0-CEは、再現するafdb6d4

ステップ構築:

  1. を以下Dockerfileとのイメージをビルドします。
  2. ボリュームを持つコンテナを実行します。
  3. ファイル/フォルダのアクセス許可を変更します。

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コンテナのボリューム上のファイル/フォルダのアクセス許可の変更をサポートしていますか?

リンク:

答えて

1

上記のリンクから、Windows用のdockerはファイルアクセス権の変更をサポートしていないようです。

は、Windows用ドッカーはcurrrently 、これらの権限を超える 制御をchmodのきめ細かいサポートしていないのMicrosoftのSMBプロトコルに基づいて、ホスト・マウントされたボリュームを実装しています。

+0

ありがとうございました。 Docker for WindowsのLinuxコンテナのケースだと思いました。 Windowsコンテナに関する文書はありますか? – nodchip

+0

「Docker for windows」は、Windowsプラットフォーム上で動作しているすべてのコンテナを指します – Ayushya

+0

私は理解しています。どうもありがとうございます! – nodchip

関連する問題