我目前正在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
不起作用,因为每个子目录都有其自己的权限。
有人有想像力的解决方案来解决这个问题吗?