84 lines
3.5 KiB
Plaintext
84 lines
3.5 KiB
Plaintext
# 拉基础镜像
|
|
FROM php:8.2.26-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 \
|
|
libmagickwand-dev \
|
|
libzookeeper-mt-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 \
|
|
&& pecl install https://pecl.php.net/get/imagick-3.7.0.tgz \
|
|
&& docker-php-ext-enable imagick \
|
|
&& 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/zookeeper-1.2.1.tgz \
|
|
&& docker-php-ext-enable zookeeper \
|
|
&& 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
|