[修改]panel\Dockerfile部署优化
This commit is contained in:
@@ -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
|
||||
|
||||
# 更新系统和安装软件包
|
||||
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
|
||||
Reference in New Issue
Block a user