docker 运行 tp 项目权限问题 mkdir(): Permission denied
1. 运行环境
1). Docker 版本
Docker version 23.0.5, build bc4487a
2). 当前使用的 php/php-fpm 版本?
PHP 版本:
PHP 7.3.33 (cli) (built: Mar 17 2022 17:37:44) ( NTS )
php-fpm 版本:
PHP 7.3.33 (cli) (built: Mar 17 2022 17:37:44) ( NTS )
3). 当前系统
ProductName: macOS
ProductVersion: 13.4.1
5). 相关软件版本
nginx version: nginx/1.25.1
tp 版本:v5.1.41
2. 问题描述?
另外 docker 中 php 日志显示如下错误
下面是我 PHP 的 Dockerfile 的内容
FROM php:7.3-fpm
ENV TZ Asia/Shanghai
RUN date -R
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions && \
install-php-extensions gd xdebug redis mcrypt memcached swoole
RUN chmod uga+x /usr/local/bin/install-php-extensions && sync && \
install-php-extensions imagick
RUN docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache
RUN docker-php-ext-install -j$(nproc) bcmath calendar exif gettext sockets dba pcntl shmop sysvmsg sysvsem sysvshm
RUN docker-php-ext-install -j$(nproc) mysqli pdo pdo_mysql
CMD ["php-fpm"]
然后我添加了
FROM php:7.3-fpm
RUN usermod -u 1000 xuweidong && usermod -G staff xuweidong
但是 build 的时候提示没有 xuweidong 这个用户,但是我本地用的就是这个用户。
知道原因了,项目中配置的目录,比如日志、文件,需要在启动容器的时候需要挂载到本地,而且项目配置要写容器中的地址