如何在Windows的docker上绑定绑定时维护linux / mac权限?

时间:2018-10-11 14:52:44

标签: git docker docker-compose docker-for-windows

我目前正在Mac上开发Drupal应用程序。 Drupal需要在其子文件夹(在Linux中)中配置一些权限,并且所有这些都已经设置好。我有两个容器:数据库(db)和apache-php(web)。我所有的代码都在git中,我可以通过git clone或pull获得它。

仅介绍问题,不必担心drupal或php,因为Python或任何其他脚本语言都可能发生此问题。

我直接从git的代码中对--volume使用绑定​​挂载,方法是(docker-compose.yml

version: "2" 
services:   
  web:
    image: yoshz/apache-php:5.5
    links:
      - db:database
    volumes:
     - ./docker/phpconf/apache2:/etc/php5/apache2
     - ./www:/var/www
     - ./docker/sites-avaliable/:/etc/apache2/sites-available/
    ports:
      - "8600:80"   
  db:
    extends:
      file: docker-common-configs.yaml
      service: db
    environment:
      MYSQL_ROOT_PASSWORD: 1234
      MYSQL_DATABASE: drupal
      MYSQL_USER: user
      MYSQL_PASSWORD: password

一个同事在Windows中克隆了我的存储库。运行docker-compose up -d,应用程序失败。

问题在于,由于该卷位于 windows 主机中,因此未设置./www 中的权限

我希望Windows Host Visual Code应用程序可以访问该代码,以便快速更改它而无需部署。

这种强制权限的解决方案:

     - ./www:/var/www:rw

不起作用,因为每个子目录都有其自己的权限。

有人有想像力的解决方案来解决这个问题吗?

0 个答案:

没有答案