【问题标题】:Docker is changing files ownership and permission, why?Docker 正在更改文件的所有权和权限,为什么?
【发布时间】:2017-05-01 12:48:18
【问题描述】:

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

【问题讨论】:

  • AFAIK,docker 没有改变任何东西。您的应用程序/进程之一是。映射卷上的文件权限可能不像您想象的那样工作 - 看看吧。

标签: docker permissions docker-compose docker-container


【解决方案1】:

卷拥有路径中已经存在的任何内容的所有权 容器。如果容器中的位置由 root 拥有,则 卷将获得根。如果容器中的位置由 别的东西,音量会得到那个。

【讨论】:

    猜你喜欢
    • 2012-04-03
    • 2016-02-04
    • 2021-08-26
    • 2015-08-20
    • 2018-05-29
    • 2014-07-03
    • 2015-10-25
    • 2018-08-15
    • 1970-01-01
    相关资源
    最近更新 更多