From 093833679178786f0355d82c7dfb729a6e1168cf Mon Sep 17 00:00:00 2001 From: 10908 <1090814301@qq.com> Date: Sat, 14 Sep 2024 14:11:05 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]panel\Dockerfile=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/panel/Dockerfile | 70 ++++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 26 deletions(-) diff --git a/docker/panel/Dockerfile b/docker/panel/Dockerfile index 3fa5848..01853fd 100644 --- a/docker/panel/Dockerfile +++ b/docker/panel/Dockerfile @@ -1,30 +1,48 @@ FROM openeuler/openeuler:24.03 -RUN dnf update -y \ - && dnf install git php-cli php-bcmath php-mbstring php-pdo php-pecl-zip php-opcache php-sodium php-intl php-pear php-devel c-ares-devel libcurl-devel openssl-devel brotli brotli-devel -y \ - && dnf clean all \ - && rm -rf /var/cache/dnf/* - -RUN echo "extension=/usr/lib64/php/modules/zstd.so" > /etc/php.d/20-zstd.ini \ - && echo "extension=/usr/lib64/php/modules/swoole.so" > /etc/php.d/50-swoole.ini\ - && pecl channel-update https://pecl.php.net/channel.xml \ - && pecl install zstd \ - && pecl install --configureoptions 'enable-sockets="yes" enable-openssl="yes" enable-mysqlnd="no" enable-swoole-curl="yes" enable-cares="yes" enable-brotli="yes"' swoole - -RUN curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v20.16.0/node-v20.16.0-linux-x64.tar.xz | tar -xJ --strip-components=1 -C /usr/local - -RUN curl -fsSL https://getcomposer.org/download/latest-stable/composer.phar -o /usr/local/bin/composer \ - && chmod +x /usr/local/bin/composer \ - && composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - -RUN sed -i 's/memory_limit\s*=.*/memory_limit = 1024M/g' /etc/php.ini - -RUN npm config set registry https://registry.npmmirror.com \ - && npm install -g yarn \ - && yarn config set registry https://registry.npmmirror.com - -RUN mkdir /app - +# 设置工作目录 WORKDIR /app -EXPOSE 8000 \ No newline at end of file +# 更新系统和安装软件包 +RUN dnf update -y && \ + dnf install -y git php-cli php-bcmath php-mbstring php-pdo php-pecl-zip php-opcache php-sodium php-intl php-pear php-devel c-ares-devel libcurl-devel openssl-devel brotli brotli-devel && \ + dnf clean all && \ + rm -rf /var/cache/dnf/* + +# 配置 PHP 扩展 +RUN echo "extension=/usr/lib64/php/modules/zstd.so" > /etc/php.d/20-zstd.ini && \ + echo "extension=/usr/lib64/php/modules/swoole.so" > /etc/php.d/50-swoole.ini + +# 安装 PECL 扩展 +RUN pecl channel-update https://pecl.php.net/channel.xml && \ + pecl install zstd && \ + pecl install swoole + +# 安装 Node.js 和 Composer +RUN architecture=$(uname -m) && \ + if [ "$architecture" = "aarch64" ]; then \ + echo "Current architecture is ARM64" && \ + curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v20.16.0/node-v20.16.0-linux-arm64.tar.xz | tar -xJ --strip-components=1 -C /usr/local; \ + elif [ "$architecture" = "x86_64" ]; then \ + echo "Current architecture is x86_64" && \ + curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v20.16.0/node-v20.16.0-linux-x64.tar.xz | tar -xJ --strip-components=1 -C /usr/local; \ + else \ + echo "platform [$architecture] not supported" && exit 1; \ + fi && \ + curl -fsSL https://getcomposer.org/download/latest-stable/composer.phar -o /usr/local/bin/composer && \ + chmod +x /usr/local/bin/composer && \ + composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ + +# 配置 PHP 内存限制 +RUN sed -i 's/memory_limit\s*=.*/memory_limit = 1024M/g' /etc/php.ini + +# 配置 npm 和 yarn 源 +RUN npm config set registry https://registry.npmmirror.com && \ + npm install -g yarn && \ + yarn config set registry https://registry.npmmirror.com + +# 暴露端口 +EXPOSE 8000 + +# 设置工作目录 +WORKDIR /app \ No newline at end of file