2016-08-07 5 views
-1

でのコンテナのために、ファイルの所有者を変更します。ドッカー - 私は、次の簡単なドッカーファイルているWindows

:私は、次のドッキングウィンドウ-compose.ymlファイルとドッ​​キングウィンドウ・作曲使用してそれを実行し

FROM php:5.6-apache 

RUN chown -R www-data:www-data /var/www/html 
RUN chmod -R 777 /var/www/html 

VOLUME /var/www/html 

CMD ["apache2-foreground"] 

version: '2' 
services: 
    foo: 
    image: image_name 
    volumes: 
     - "./:/var/www/html" 
    ports: 
     - "8080:80" 
    restart: always 

私はそのようにのようなコンテナに接続:私はでls -lを実行すると

docker exec -it container_name_foo_1 bash 

私はそうのように、このファイルの所有者を変更しようとすると、しかし

total 0 
drwxrwxrwx 1 1000 staff 0 Aug 6 20:38 hi 

:ディレクトリには、私はこのような何かを得る

chown www-data:www-data hi 

して、再度実行しls -l。所有者は変更されていません!

これはWindowsのみの問題かもしれません。

私は同様の問題をここに言及しました:Change the owner of a file in a running Docker container with an attached volume in Windows、まだ未回答です。 (この質問は、すでに実行されているDockerコンテナではなく、DockerFileを扱うので、この質問は少し異なります)。

他のStack Overflowの回答を読んでから、Dockerファイルにボリュームをマウントする前にアクセス許可を変更するように指示されましたが、動作しませんでした。

答えて

1

NTFSマウントファイルシステムでposix権限を使用するには、ユーザーマッピングファイルを提供する必要があります。基本的にはwww-dataを有効なNT SIDに変換する方法が必要です。詳細については、this Answer askubuntuとntfs-3g articleを参照してください。

+0

私は最初のリンクでいくつかのコマンドを読み、本当に混乱しています。 Dockerを使用して実際に実行する必要があるコマンドは、前述のコマンドの多くがVMに関連しているようです。 –

+0

私が抱えている問題の例は、コマンド 'blkid'が何も返さないことです。これは '/ var/www/html'がマウントされたファイルシステムとして扱われないためかもしれません。 –

0

これを試しましたか?

docker exec -u root -it container_name_foo_1 chown other:user -R /path 
関連する問題