Dockerfile 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. FROM php:8.4-fpm-alpine
  2. # 安装系统依赖
  3. RUN apk add --no-cache \
  4. libpng-dev \
  5. libjpeg-turbo-dev \
  6. freetype-dev \
  7. libzip-dev \
  8. gmp-dev \
  9. curl \
  10. fontconfig \
  11. tzdata \
  12. && docker-php-ext-configure gd --with-freetype --with-jpeg \
  13. && docker-php-ext-install -j$(nproc) \
  14. gd \
  15. gmp \
  16. bcmath \
  17. fileinfo \
  18. zip \
  19. pdo_mysql \
  20. && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  21. && echo "Asia/Shanghai" > /etc/timezone
  22. # 注意:openssl和curl是PHP内置扩展,不需要单独安装
  23. # 设置工作目录
  24. WORKDIR /var/www/html
  25. # 复制项目文件
  26. COPY . .
  27. # 创建bootstrap/cache目录并设置权限
  28. RUN mkdir -p bootstrap/cache && chmod -R 755 bootstrap/cache
  29. # 安装Composer
  30. RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  31. # 安装项目依赖
  32. RUN composer install --no-dev
  33. # 创建存储软链接
  34. RUN php artisan storage:link
  35. # 创建队列表
  36. RUN php artisan queue:table
  37. # 暴露端口
  38. EXPOSE 9000
  39. # 启动PHP-FPM
  40. CMD ["php-fpm"]