| # 使用官方的 Python 3.11 镜像
|
| FROM python:3.11-slim
|
|
|
| # 设置工作目录为/app
|
| WORKDIR /app
|
|
|
| # 复制backend目录下的requirements.txt
|
| COPY requirements.txt .
|
|
|
| # 安装依赖
|
| RUN pip install --no-cache-dir -r requirements.txt -i https:
|
|
|
| # 将整个backend目录复制到容器内的/app
|
| COPY . .
|
|
|
| # 暴露端口(Flask 默认端口是 5000)
|
| EXPOSE 5000
|
|
|
| RUN pip install --no-cache-dir huggingface_hub
|
|
|
| COPY sync_data.sh sync_data.sh
|
|
|
| # 创建 start.sh 文件(如果不存在)
|
| RUN touch start.sh && \
|
| chmod +x start.sh && \
|
| chmod +x sync_data.sh && \
|
| chmod -R 777 ./db && \
|
| mkdir storage && chmod 777 storage && \
|
| mkdir uploads && chmod 777 uploads && \
|
| sed -i "1r sync_data.sh" ./start.sh
|
|
|
| # 确保启动命令指向正确的app.py文件
|
| CMD ["python", "app.py"] |