DockerfileDev 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. # 安装 protoc
  40. ENV PRPTOTBUF_VERSION=30.2
  41. RUN wget "https://github.com/protocolbuffers/protobuf/releases/download/v${PRPTOTBUF_VERSION}/protoc-${PRPTOTBUF_VERSION}-linux-x86_64.zip" && \
  42. unzip protoc-${PRPTOTBUF_VERSION}-linux-x86_64.zip && ls && cp bin/protoc /usr/bin/ && \
  43. protoc --version
  44. #RUN useradd php
  45. COPY default.conf /etc/apache2/sites-enabled/000-default.conf
  46. # RUN mkdir /home/php && chown php /home/php
  47. # COPY php.ini /usr/local/etc/php/conf.d
  48. WORKDIR /var/www/html
  49. COPY . /var/www/html
  50. # RUN chmod 777 -R storage
  51. # RUN chmod 777 -R bootstrap
  52. EXPOSE 80
  53. #USER www-data
  54. # RUN composer install
  55. WORKDIR /var/www/html
  56. #RUN php artisan docker:buildinfo
  57. #RUN sed -i 's/^exec /service cron start \n\n exec /' /usr/local/bin/apache2-foreground