You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.1 KiB

  1. FROM php:7.4-apache
  2. # 安装系统依赖项,包括libzip-dev、zip、GD相关的库
  3. RUN apt-get update && apt-get install -y \
  4. libzip-dev \
  5. zip \
  6. libpng-dev \
  7. libjpeg-dev \
  8. libfreetype6-dev \
  9. && docker-php-ext-configure gd --with-jpeg --with-freetype \
  10. && docker-php-ext-install gd zip pdo_mysql
  11. # 将源码复制到容器的/var/www/html/目录
  12. COPY . /var/www/html/
  13. # 更改/var/www/html/的所有权给www-data用户
  14. RUN chown -R www-data:www-data /var/www/html
  15. # 创建runtime目录并更改其所有权
  16. RUN mkdir -p /var/www/html/runtime && chown -R www-data:www-data /var/www/html/runtime
  17. # 安装Composer
  18. COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
  19. # 运行Composer安装依赖
  20. RUN composer install --no-dev
  21. # 将public目录设置为Apache的根目录
  22. ENV APACHE_DOCUMENT_ROOT /var/www/html/public
  23. RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
  24. RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
  25. # 启用Apache的mod_rewrite模块,支持伪静态
  26. RUN a2enmod rewrite