FROM docker.m.daocloud.io/php:8.3-apache ENV REFRESH_DATE=9 COPY sources.list /etc/apt/sources.list RUN rm /etc/apt/sources.list.d/debian.sources RUN apt-get clean && apt-get update RUN apt-get install -y wget zip libzip-dev zlib1g-dev autoconf automake libtool vim git iputils-ping WORKDIR /home # 安装 oniguruma ENV ORIGURUMA_VERSION=6.9.8 RUN wget https://github.com/kkos/oniguruma/archive/v${ORIGURUMA_VERSION}.tar.gz -O oniguruma-${ORIGURUMA_VERSION}.tar.gz \ && tar -zxvf oniguruma-${ORIGURUMA_VERSION}.tar.gz \ && cd oniguruma-${ORIGURUMA_VERSION} \ && ./autogen.sh \ && ./configure \ && make \ && make install # 安装必要的扩展 RUN docker-php-ext-install bcmath mbstring zip pdo_mysql RUN pecl install redis \ && docker-php-ext-enable redis # protobuf RUN pecl install protobuf && docker-php-ext-enable protobuf # 安装 protoc ENV PRPTOTBUF_VERSION=29.1 RUN wget "https://github.com/protocolbuffers/protobuf/releases/download/v${PRPTOTBUF_VERSION}/protoc-${PRPTOTBUF_VERSION}-linux-x86_64.zip" && \ unzip protoc-${PRPTOTBUF_VERSION}-linux-x86_64.zip && ls && cp bin/protoc /usr/bin/ && \ protoc --version RUN apt-get install -y zlib1g-dev libz-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev \ && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && \ docker-php-ext-install gd && docker-php-ext-enable gd # 安装 imagick RUN apt-get install -y libmagickwand-dev && pecl install imagick && docker-php-ext-enable imagick # 加速器 RUN docker-php-ext-install opcache && docker-php-ext-enable opcache # 安装composer RUN wget https://mirrors.aliyun.com/composer/composer.phar \ && mv composer.phar /usr/local/bin/composer \ && chmod +x /usr/local/bin/composer && composer config -g repo.packagist composer https://packagist.pages.dev/ RUN a2enmod rewrite; # dot 的安装,用于输出workflow RUN apt install -y graphviz #RUN useradd php COPY default.conf /etc/apache2/sites-enabled/000-default.conf # RUN mkdir /home/php && chown php /home/php # COPY php.ini /usr/local/etc/php/conf.d WORKDIR /var/www/html COPY . /var/www/html RUN chmod 777 -R storage # /var/www/html/storage # mkdir -p storage/framework/views # mkdir -p storage/framework/testing # mkdir -p storage/framework/sessions # mkdir -p storage/framework/cache # mkdir -p storage/app/public RUN chmod 777 -R bootstrap RUN chown www-data:www-data -R config # lan 扩展集合 opcache gd redis bcmath mbstring zip pdo_mysql USER www-data # RUN composer install WORKDIR /var/www/html RUN php artisan docker:buildinfo USER root #RUN sed -i 's/^exec /service cron start \n\n exec /' /usr/local/bin/apache2-foreground