Dockerfile 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. FROM docker.m.daocloud.io/php:8.3-apache
  2. ENV REFRESH_DATE=9
  3. COPY sources.list /etc/apt/sources.list
  4. RUN rm /etc/apt/sources.list.d/debian.sources
  5. RUN apt-get clean && apt-get update
  6. RUN apt-get install -y wget zip libzip-dev zlib1g-dev autoconf automake libtool vim git iputils-ping libgmp-dev
  7. # dot 的安装,用于输出workflow
  8. RUN apt install -y graphviz
  9. # 安装gd的
  10. RUN apt-get install -y zlib1g-dev libz-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev
  11. WORKDIR /home
  12. # 安装 oniguruma
  13. ENV ORIGURUMA_VERSION=6.9.8
  14. RUN wget https://github.com/kkos/oniguruma/archive/v${ORIGURUMA_VERSION}.tar.gz -O oniguruma-${ORIGURUMA_VERSION}.tar.gz \
  15. && tar -zxvf oniguruma-${ORIGURUMA_VERSION}.tar.gz \
  16. && cd oniguruma-${ORIGURUMA_VERSION} \
  17. && ./autogen.sh \
  18. && ./configure \
  19. && make \
  20. && make install
  21. # 安装必要的扩展
  22. RUN docker-php-ext-install bcmath mbstring zip pdo_mysql gmp
  23. RUN pecl install redis \
  24. && docker-php-ext-enable redis
  25. # protobuf
  26. RUN pecl install protobuf && docker-php-ext-enable protobuf
  27. # 安装gd
  28. RUN docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && \
  29. docker-php-ext-install gd && docker-php-ext-enable gd
  30. # 安装 imagick
  31. # RUN apt-get install -y libmagickwand-dev && pecl install imagick && docker-php-ext-enable imagick
  32. # 安装composer
  33. RUN wget https://mirrors.aliyun.com/composer/composer.phar \
  34. && mv composer.phar /usr/local/bin/composer \
  35. && chmod +x /usr/local/bin/composer && composer config -g repo.packagist composer https://packagist.pages.dev/
  36. RUN a2enmod rewrite;
  37. # xdebug
  38. #RUN pecl install xdebug && docker-php-ext-enable xdebug
  39. # 加速器
  40. RUN docker-php-ext-install opcache && docker-php-ext-enable opcache
  41. # 安装 protoc
  42. ENV PRPTOTBUF_VERSION=30.2
  43. RUN wget "https://github.com/protocolbuffers/protobuf/releases/download/v${PRPTOTBUF_VERSION}/protoc-${PRPTOTBUF_VERSION}-linux-x86_64.zip" && \
  44. unzip protoc-${PRPTOTBUF_VERSION}-linux-x86_64.zip && ls && cp bin/protoc /usr/bin/ && \
  45. protoc --version
  46. #RUN useradd php
  47. COPY default.conf /etc/apache2/sites-enabled/000-default.conf
  48. # RUN mkdir /home/php && chown php /home/php
  49. # COPY php.ini /usr/local/etc/php/conf.d
  50. WORKDIR /var/www/html
  51. COPY . /var/www/html
  52. # RUN chmod 777 -R storage
  53. # RUN chmod 777 -R bootstrap
  54. EXPOSE 80
  55. #USER www-data
  56. # RUN composer install
  57. WORKDIR /var/www/html
  58. #RUN php artisan docker:buildinfo
  59. #RUN sed -i 's/^exec /service cron start \n\n exec /' /usr/local/bin/apache2-foreground