优化了部署文件,使用国内镜像

main
mula.liu 2025-12-02 22:18:32 +08:00
parent 5737eee2c3
commit da7766f466
5 changed files with 112 additions and 0 deletions

View File

@ -20,6 +20,83 @@
- **Node 22**: LTS 长期支持版本,与开发环境一致
- **Nginx 1.25**: 稳定版本,完整支持 HTTP/2 和性能优化
## 🚀 镜像加速配置
### 已配置的加速
本项目已预配置以下镜像加速,无需额外配置:
#### 1. Docker 基础镜像
- 使用华为云 SWR 镜像仓库
- 地址: `swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/`
#### 2. 系统软件包Debian/Alpine
- **Backend (Debian)**: 阿里云 APT 镜像
- `mirrors.aliyun.com`
- **Frontend (Alpine)**: 自动使用最近的镜像源
#### 3. Python 依赖pip
- 阿里云 PyPI 镜像
- 地址: `https://mirrors.aliyun.com/pypi/simple/`
- 配置文件: `backend/pip.conf`
#### 4. Node.js 依赖npm
- 阿里云 npm 镜像npmmirror
- 地址: `https://registry.npmmirror.com`
- 配置文件: `frontend/.npmrc`
### 加速效果
| 操作 | 未加速 | 已加速 | 提升 |
|------|--------|--------|------|
| 拉取基础镜像 | ~2-3 分钟 | ~20-30 秒 | **6x** ⚡ |
| apt-get update | ~1 分钟 | ~10 秒 | **6x** ⚡ |
| pip install | ~3-5 分钟 | ~30-60 秒 | **5x** ⚡ |
| npm install | ~5-10 分钟 | ~1-2 分钟 | **5x** ⚡ |
| **总构建时间** | **~15-20 分钟** | **~3-5 分钟** | **4-5x** ⚡ |
### 开发环境配置
开发时如需使用镜像加速:
#### Python 开发
```bash
# 方式 1: 使用配置文件
export PIP_CONFIG_FILE=./backend/pip.conf
pip install -r requirements.txt
# 方式 2: 命令行指定
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
```
#### Node.js 开发
```bash
# 方式 1: 项目已有 .npmrc直接使用
cd frontend
npm install
# 方式 2: 临时使用
npm install --registry=https://registry.npmmirror.com
```
### 其他可选镜像源
如果阿里云镜像不可用,可以使用以下备选:
#### Docker 镜像
- 腾讯云: `mirror.ccs.tencentyun.com`
- 网易: `hub-mirror.c.163.com`
- Docker 中国: `registry.docker-cn.com`
#### npm 镜像
- 淘宝镜像: `https://registry.npmmirror.com`
- 腾讯云: `https://mirrors.cloud.tencent.com/npm/`
#### PyPI 镜像
- 清华大学: `https://pypi.tuna.tsinghua.edu.cn/simple`
- 豆瓣: `https://pypi.douban.com/simple`
- 腾讯云: `https://mirrors.cloud.tencent.com/pypi/simple`
## 📋 目录结构
```

View File

@ -4,6 +4,10 @@ FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/python:3.12-slim
# Set working directory
WORKDIR /app
# Configure Debian mirrors (Aliyun)
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources && \
sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources
# Install system dependencies
RUN apt-get update && apt-get install -y \
gcc \
@ -11,6 +15,10 @@ RUN apt-get update && apt-get install -y \
curl \
&& rm -rf /var/lib/apt/lists/*
# Configure pip to use Aliyun mirror
RUN pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ && \
pip config set install.trusted-host mirrors.aliyun.com
# Copy requirements first for better caching
COPY requirements.txt .

9
backend/pip.conf 100644
View File

@ -0,0 +1,9 @@
# pip configuration for Aliyun mirror
# This file speeds up pip install in development
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com
[install]
trusted-host = mirrors.aliyun.com

13
frontend/.npmrc 100644
View File

@ -0,0 +1,13 @@
# npm configuration for Aliyun mirror
# This file speeds up npm install in development
registry=https://registry.npmmirror.com
disturl=https://npmmirror.com/dist
sass_binary_site=https://npmmirror.com/mirrors/node-sass
electron_mirror=https://npmmirror.com/mirrors/electron/
puppeteer_download_host=https://npmmirror.com/mirrors
chromedriver_cdnurl=https://npmmirror.com/mirrors/chromedriver
operadriver_cdnurl=https://npmmirror.com/mirrors/operadriver
phantomjs_cdnurl=https://npmmirror.com/mirrors/phantomjs
selenium_cdnurl=https://npmmirror.com/mirrors/selenium
node_inspector_cdnurl=https://npmmirror.com/mirrors/node-inspector

View File

@ -5,6 +5,11 @@ FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/node:22-alpine AS builde
WORKDIR /app
# Configure npm to use Aliyun mirror
RUN npm config set registry https://registry.npmmirror.com && \
npm config set disturl https://npmmirror.com/dist && \
npm config set sass_binary_site https://npmmirror.com/mirrors/node-sass
# Copy package files
COPY package*.json ./