From 56a9b5595db011fa60308fc9b5a976165eac6965 Mon Sep 17 00:00:00 2001 From: Cherry Sakura Date: Fri, 27 Oct 2023 03:15:01 +0000 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 48 +++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/Dockerfile b/Dockerfile index 75c4576..2dc17f8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,33 +1,31 @@ FROM debian:12 + RUN echo '#!/bin/bash\nphp artisan "$@"' > /usr/bin/art && \ - chmod +x /usr/bin/art - - -RUN echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware" > /etc/apt/sources.list && \ + chmod +x /usr/bin/art && \ + DEBIAN_FRONTEND=noninteractive echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware" > /etc/apt/sources.list && \ echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \ echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \ - echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list + echo "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list && \ + rm -rf /etc/apt/sources.list.d/debian.sources && \ + apt update && \ + apt install -y --no-install-recommends wget lsb-release unzip && \ + wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ + sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' && \ + apt update && \ + apt install -y --no-install-recommends libz-dev php8.2-cli php8.2-bcmath php8.2-bz2 php8.2-curl php8.2-redis php8.2-mongodb php8.2-pgsql php8.2-intl php8.2-mbstring php8.2-zip php8.2-gd php8.2-dom php8.2-mysql php8.2-dev php-pear php-memcached + -RUN rm -rf /etc/apt/sources.list.d/debian.sources -RUN apt update -RUN apt install wget lsb-release unzip -y -RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg -RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' -RUN apt update - -RUN apt install -y php8.2-cli php8.2-bcmath php8.2-bz2 php8.2-curl php8.2-redis php8.2-mongodb php8.2-pgsql php8.2-intl php8.2-mbstring php8.2-zip php8.2-gd php8.2-dom php8.2-mysql php8.2-memcached php8.2-dev php-pear libz-dev - -# Update pecl protocol -RUN pecl channel-update pecl.php.net -RUN MAKEFLAGS="-j $(nproc)" pecl install grpc -RUN strip --strip-debug /usr/lib/php/*/grpc.so -RUN echo "output_buffering = On" >> /etc/php/8.2/cli/php.ini -RUN echo "extension=grpc.so" >> /etc/php/8.2/cli/php.ini - -RUN wget https://mirrors.aliyun.com/composer/composer.phar -O /usr/bin/composer -RUN chmod +x /usr/bin/composer - -RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ +RUN pecl channel-update pecl.php.net && MAKEFLAGS="-j $(nproc)" pecl install grpc && strip --strip-debug /usr/lib/php/*/grpc.so && \ + apt autoremove --purge php8.2-dev php-pear && \ + apt-get clean autoclean && \ + apt-get autoremove -y && \ + rm -rf /var/lib/apt/lists/* && \ + rm -rf /var/lib/{apt,dpkg,cache,log}/ && \ + echo "output_buffering = On" >> /etc/php/8.2/cli/php.ini && \ + echo "extension=grpc.so" >> /etc/php/8.2/cli/php.ini && \ + wget https://mirrors.aliyun.com/composer/composer.phar -O /usr/bin/composer && \ + chmod +x /usr/bin/composer && \ + composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/