Docker文件权限与卷,Boot2docker和Virtualbox

我正在尝试使用Dockerfile和Docker在Mac Yosemite上使用Boot2docker / Virtualbox进行本地安装Apache Web项目。 除了一件事之外,一切都可以工作 – 在已安装卷上的文件权 我需要一些文件夹可由PHP写入,我无法find一种方法来更改我的版本中的权限。

这是我的Dockerfile:

FROM ubuntu:latest RUN apt-get update RUN apt-get -y upgrade # Install apache, PHP, and supplimentary programs. curl and lynx-cur are for debugging the container. RUN DEBIAN_FRONTEND=noninteractive apt-get -y install apache2 libapache2-mod-php5 php5-mysql php5-gd php-pear php-apc php5-curl curl lynx-cur # Enable apache mods. RUN a2enmod php5 RUN a2enmod rewrite # Update the PHP.ini file, enable <? ?> tags and quieten logging. RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini # Manually set up the apache environment variables ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_LOCK_DIR /var/lock/apache2 ENV APACHE_PID_FILE /var/run/apache2.pid EXPOSE 80 # Update the default apache site with the config we created. COPY apache-config.conf /etc/apache2/sites-available/000-default.conf # By default, simply start apache. CMD /usr/sbin/apache2ctl -D FOREGROUND 

这是/build/docker-compose.yml:

 web: build: ../. ports: - 8080:80 volumes: - ../www:/var/www/site links: - mysql mysql: image: mysql:5.6 ports: - 3306:3306/tcp restart: on-failure environment: - MYSQL_ROOT_PASSWORD=demo - MYSQL_DATABASE=demo - MYSQL_USER=demo - MYSQL_PASSWORD=demo 

我需要在/ var / www / site中有一些目录可写。 已尝试与chmod和chown的各种替代品,但似乎无法使docker集装箱内的任何工作…

整个项目驻留在/ Users文件夹中。

docker检查我的networking容器给我下面的坐骑:

 "Mounts": [ { "Source": "/Users/[myuser]/Documents/[project]/www", "Destination": "/var/www/site", "Mode": "rw", "RW": true }, { "Source": "/mnt/sda1/var/lib/docker/volumes/9018974b47f606c262fc1127a2a9ca6420841ca59a3a064e9adee6a6bfacd70f/_data", "Destination": "/var/www", "Mode": "rw", "RW": true }, { "Name": "8105b731c655cdaf53d93c2e78a4a3104d4650b49df5879c2004a2aef3a7d9e0", "Source": "/mnt/sda1/var/lib/docker/volumes/8105b731c655cdaf53d93c2e78a4a3104d4650b49df5879c2004a2aef3a7d9e0/_data", "Destination": "www", "Driver": "local", "Mode": "", "RW": true } 

所以我想所有事情都应该是这样的? 虽然我似乎无法得到正确的权限。