# 使用PHP 7.2作为基础镜像 FROM php:7.2-fpm # 使用阿里云镜像源 RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list \ && sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list # 安装系统依赖 RUN apt-get update && apt-get install -y \ git \ curl \ libpng-dev \ libonig-dev \ libxml2-dev \ zip \ unzip # 安装PHP扩展 RUN docker-php-ext-install pdo_mysql mysqli mbstring exif pcntl bcmath gd # 安装Composer COPY --from=composer:1.10 /usr/bin/composer /usr/bin/composer # 设置工作目录 WORKDIR /var/www/html # 创建必要的目录 RUN mkdir -p /var/www/html/app \ && mkdir -p /var/www/html/config \ && mkdir -p /var/www/html/public \ && mkdir -p /var/www/html/route \ && mkdir -p /var/www/html/vendor \ && mkdir -p /var/www/html/runtime # 创建Composer缓存目录并设置权限 RUN mkdir -p /var/www/.composer/cache \ && chown -R www-data:www-data /var/www/.composer # 复制项目文件 COPY . . # 设置目录权限 RUN chown -R www-data:www-data /var/www/html \ && chmod -R 755 /var/www/html \ && chmod -R 777 /var/www/html/runtime # 升级 Composer 到版本 2 RUN composer self-update --2 # 配置git安全目录 RUN git config --global --add safe.directory /var/www/html # 切换到www-data用户并安装依赖 USER www-data RUN composer install --no-dev --optimize-autoloader # 切换回root用户 USER root # 暴露端口 EXPOSE 9000 # 启动PHP-FPM CMD ["php-fpm"]