# 拉基础镜像 FROM php:8.3.14-cli # 替换源 RUN rm /etc/apt/sources.list.d/debian.sources && \ echo 'deb http://mirror.us.oneandone.net/debian bookworm main' > /etc/apt/sources.list && \ echo 'deb-src http://mirror.us.oneandone.net/debian bookworm main' >> /etc/apt/sources.list && \ echo 'deb http://mirror.us.oneandone.net/debian-security bookworm-security main' >> /etc/apt/sources.list && \ echo 'deb-src http://mirror.us.oneandone.net/debian-security bookworm-security main' >> /etc/apt/sources.list && \ echo 'deb http://mirror.us.oneandone.net/debian bookworm-updates main' >> /etc/apt/sources.list && \ echo 'deb-src http://mirror.us.oneandone.net/debian bookworm-updates main' >> /etc/apt/sources.list && \ echo 'deb http://mirror.us.oneandone.net/debian bookworm-backports main' >> /etc/apt/sources.list && \ echo 'deb-src http://mirror.us.oneandone.net/debian bookworm-backports main' >> /etc/apt/sources.list # 安装一些依赖 RUN apt-get update && apt-get install -y \ libfreetype6-dev libjpeg62-turbo-dev \ libpng-dev libwebp-dev zlib1g-dev \ libzip-dev zip \ libevent-dev libssl-dev \ lsb-release libpq-dev \ libgmp-dev \ librdkafka-dev \ && apt-get install -y \ libprotobuf-dev \ && apt-get install -y \ protobuf-compiler \ && apt-get install -y \ pkg-config \ && apt-get install -y \ git # 安装扩展 RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp \ && docker-php-ext-install -j$(nproc) gd \ && docker-php-ext-install exif \ && docker-php-ext-install opcache \ && docker-php-ext-install pdo_mysql \ && docker-php-ext-install mysqli \ && docker-php-ext-install zip \ && docker-php-ext-install pcntl \ && docker-php-ext-install fileinfo \ && pecl install https://pecl.php.net/get/redis-6.1.0.tgz \ && docker-php-ext-enable redis \ && docker-php-ext-install sockets \ && pecl install https://pecl.php.net/get/event-3.1.4.tgz \ && docker-php-ext-enable event \ && cat /usr/local/etc/php/conf.d/docker-php-ext-event.ini >> /usr/local/etc/php/conf.d/docker-php-ext-sockets.ini \ && mv /usr/local/etc/php/conf.d/docker-php-ext-sockets.ini /usr/local/etc/php/conf.d/docker-php-ext-event.ini \ && docker-php-ext-install -j$(nproc) pgsql pdo_pgsql \ && pecl install https://pecl.php.net/get/mongodb-1.19.3.tgz \ && docker-php-ext-enable mongodb \ && docker-php-ext-install -j$(nproc) gmp \ && docker-php-ext-install bcmath \ && docker-php-ext-enable bcmath \ && pecl install https://pecl.php.net/get/xlswriter-1.5.5.tgz \ && docker-php-ext-enable xlswriter \ && pecl install https://pecl.php.net/get/rdkafka-6.0.3.tgz \ && docker-php-ext-enable rdkafka \ # 安装 gRPC 扩展 && pecl install grpc \ && docker-php-ext-enable grpc # 安装Composer RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ && php composer-setup.php \ && php -r "unlink('composer-setup.php');" \ && mv composer.phar /usr/local/bin/composer # 安装swow扩展 # RUN composer require swow/swow && ./vendor/bin/swow-builder --install # 创建应用目录 RUN mkdir -p /app # 设置工作目录 WORKDIR /app