🐳 Docker 部署(自行构建镜像)
1. 项目结构
plaintext
DocTranslator/
├── frontend/ # 前端代码
├── admin/ # 管理员端代码
├── backend/ # 后端代码
├── nginx/ # Nginx 配置
│ └── nginx.conf # Nginx 配置文件
......2. 创建 Docker 网络
bash
docker network create my-network3. 后端部署
3.1 配置环境变量
确保 DocTranslator/backend/.env 文件已正确填写相关环境变量
注意MYSQL数据库连接格式: PROD_DATABASE_URL=mysql+pymysql://user:pwd@localhost/xxxx
3.2 构建后端镜像
bash
cd DocTranslator/backend
docker build -t doctranslator .3.3 运行后端容器
bash
cd ..
docker run -d \
--name backend-container \
--network my-network \
-p 5000:5000 \
doctranslator注意:如果构建速度很慢,可以将backend的 Dockerfile换成下面这个
bash
# 使用官方的 Python 3.11 镜像(基于 Debian 12 bookworm)
FROM python:3.11-bookworm
# 设置工作目录为/app
WORKDIR /app
RUN sed -i 's|http://deb.debian.org|https://mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources && \
sed -i 's|http://security.debian.org|https://mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources
# 安装系统依赖
RUN apt-get update && apt-get install -y \
libgl1-mesa-glx \
libglib2.0-0 \
tesseract-ocr \
libsm6 \
libxext6 \
libxrender-dev \
libfontconfig1 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# 复制 backend 目录下的 requirements.txt
COPY requirements.txt .
# 安装 Python 依赖
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
# 将整个 backend 目录复制到容器内的 /app
COPY . .
# 暴露端口(Flask 默认端口是 5000)
EXPOSE 5000
# 启动命令
CMD ["python", "app.py"]4. 启动 Nginx
bash
docker run -d \
--name nginx-container \
-p 1475:80 \
-p 8081:8081 \
-v $(pwd)/nginx/nginx.conf:/etc/nginx/conf.d/default.conf \
-v $(pwd)/frontend/dist:/usr/share/nginx/html/frontend \
-v $(pwd)/admin/dist:/usr/share/nginx/html/admin \
--network my-network \
nginx:stable-alpine5. 访问服务
后端 API:http://localhost:5000
- 账号:admin ; 密码:123456
