优化了部署文件,使用国内镜像
parent
5737eee2c3
commit
da7766f466
|
|
@ -20,6 +20,83 @@
|
||||||
- **Node 22**: LTS 长期支持版本,与开发环境一致
|
- **Node 22**: LTS 长期支持版本,与开发环境一致
|
||||||
- **Nginx 1.25**: 稳定版本,完整支持 HTTP/2 和性能优化
|
- **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`
|
||||||
|
|
||||||
## 📋 目录结构
|
## 📋 目录结构
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,10 @@ FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/python:3.12-slim
|
||||||
# Set working directory
|
# Set working directory
|
||||||
WORKDIR /app
|
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
|
# Install system dependencies
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
gcc \
|
gcc \
|
||||||
|
|
@ -11,6 +15,10 @@ RUN apt-get update && apt-get install -y \
|
||||||
curl \
|
curl \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& 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 first for better caching
|
||||||
COPY requirements.txt .
|
COPY requirements.txt .
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
@ -5,6 +5,11 @@ FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/node:22-alpine AS builde
|
||||||
|
|
||||||
WORKDIR /app
|
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 files
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue