允许Apache写入本地同步的docker卷

时间:2018-09-20 09:47:57

标签: php apache docker docker-compose dockerfile

Dockerfile

FROM php:5.6-apache
COPY config/php.ini /usr/local/etc/php/
RUN docker-php-ext-install mysql mysqli pdo pdo_mysql
RUN rm /var/log/apache2/access.log
RUN a2enmod rewrite
RUN a2enmod deflate
RUN a2enmod headers

docker-compose.yml

version: "2"
services:
  www:
    build: .
    ports: 
        - "8001:80"
    volumes:
        - ./www:/var/www/html/
    networks:
        - default

我在www中有一个名为photos的文件夹。在www/photos。我想使用我的php上传功能向其中写入文件。由于php-apache没有对该卷的写访问权,我得到了权限被拒绝的错误。如何授予apache写访问权限?

1 个答案:

答案 0 :(得分:0)

检查主机系统上目录的权限,可能访客没有写权限。如有必要,请使用chmod进行更改:

chmod 766 -R your/directory/

此外,您可以通过在行的末尾添加:rw(用于读/写)来指定在指定的已装载卷中写入docker内部的权限:

- ./www:/var/www/html/:rw

因为这应该是默认值,所以不必使用它,也不应该成为问题的一部分。