2016-12-15 18 views
0

私は、次のdocker-compose.ymlファイルがあります:すべてが正常に動作しているが、できるだけ早く私は、コマンドdocker-compose up -d --buildを実行するとし、コンテナは次のように更新されます~/devでホストに所有権と権限を起動Dockerはファイルの所有権とアクセス権を変更しています。なぜですか?

version: '2' 
services: 
    php-fpm: 
    container_name: "php71-fpm-nginx" 
    build: php-fpm 
    ports: 
     - 8080:80 
     - 9002:9002 
    environment: 
     PHP_ERROR_REPORTING: 'E_ALL & ~E_DEPRECATED & ~E_NOTICE' 
     STATUS_PAGE_ALLOWED_IP: '127.0.0.1' 
    volumes: 
     - ~/dev:/data/www 
    links: 
     - db 
    db: 
    container_name: "db_mysql" 
    image: mysql 
    environment: 
     MYSQL_ROOT_PASSWORD: '1qazxsw2' 
     MYSQL_DATABASE: 'nortwind' 
     MYSQL_USER: 'db_user' 
     MYSQL_PASSWORD: '1qazxsw2' 
    volumes: 
     - ./dev/northwindSQL:/docker-entrypoint-initdb.d 
     - ~/data/db:/var/lib/mysql 
    elk: 
    container_name: "elk" 
    image: willdurand/elk 
    ports: 
     - 81:80 
    volumes: 
     - ./elk/logstash:/etc/logstash 
     - ./elk/logstash/patterns:/opt/logstash/patterns 
    volumes_from: 
     - php-fpm 

を:

$ ls -la ~/dev/ 
total 96 
drwxrwxr-x 11  80  80 4096 Dec 15 14:36 . 
drwx------. 40 rperez rperez 4096 Dec 15 14:26 .. 
drwxr-xr-x 5  80  80 4096 Mar 13 2015 css 
-rw-r--r-- 1  80  80 189 Mar 10 2016 DEMO_NOTES.TXT 

これは正常な動作ですか?これはDockerfileからのものですか?何か案は?

+0

AFAIK、ドッカーは何も変更しません。あなたのアプリケーション/プロセスの1つはです。マップされたボリューム上のファイルのアクセス許可は、あなたが思うように動作しない可能性があります。 – user2105103

答えて

2

ボリュームは、すでに コンテナのパスにあるものの所有権を取得します。コンテナ内の場所がrootによって所有されている場合は、 のボリュームがrootになります。コンテナ内の場所が によって所有されている場合は、ボリュームになります。

関連する問題