【发布时间】:2020-08-31 04:09:03
【问题描述】:
我在尝试使用 docker-compose 启动容器时遇到权限被拒绝错误。
错误: PermissionError:[Errno 13] 权限被拒绝:'/var/www/sites/api/var/lib/mysql/mysql' [1503] 执行脚本 docker-compose 失败
Dockerfile:
FROM php:7.2-apache
COPY httpd.conf /etc/apache2/sites-available/
RUN a2dissite 000-default.conf
RUN a2ensite httpd.conf
RUN a2enmod rewrite
RUN mkdir /var/www/sites/api
RUN chmod -R 777 /var/www/sites/api
COPY . /var/www/sites/api
RUN apt-get update && \
docker-php-ext-install mysqli && \ apt-get clean && \ apt-get install
-y libmagickwand-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* RUN printf "\n"
| pecl install imagick
RUN docker-php-ext-enable imagick
CMD ["/usr/sbin/apache2ctl", "-D","FOREGROUND"]
Docker 撰写:
version: '3'
services:
qa_api_test:
build:
context: ./
ports:
- "80:80"
db:
image: mysql:5.7
volumes:
- /var/lib/mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=xxxx
ports:
- "3306:3306"
【问题讨论】:
-
运行 docker-compose 的用户必须具有执行挂载的权限。尝试运行
sudo docker-compose up -d以查看是否可以挂载该卷。 -
这告诉我你需要更改 `/var/lib/mysqli 目录的权限。该目录的权限是什么?
标签: php apache docker-compose dockerfile