Docker正在改变文件所有权和权限,为什么?

时间:2016-12-15 19:51:16

标签: docker permissions docker-compose docker-container

我有以下docker-compose.yml文件:

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

一切正常,但只要我运行命令docker-compose up -d --build并且容器启动~/dev主机的所有权和权限,请按以下步骤更新:

$ 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的东西?有什么想法吗?

1 个答案:

答案 0 :(得分:2)

  

卷取得已经在路径中的任何内容的所有权   容器。如果容器中的位置由root拥有,那么   卷将获得root权限。如果容器中的位置归所有者所有   其他东西,音量就会达到。