diff --git a/inventory-backend/.dockerignore b/inventory-backend/.dockerignore index 4f7f6f2..c038fa9 100644 --- a/inventory-backend/.dockerignore +++ b/inventory-backend/.dockerignore @@ -10,3 +10,23 @@ uploads pgdata .env simhei.ttf + +# ---- 补充排除项 ---- +# Windows 残留空文件 +nul +# 数据库备份文件(避免打进镜像/context) +*.dump +*.sql.gz +*.tar.gz +*.gz +*.log +# 数据库迁移脚本(运行时用 volume 挂载宿主机,镜像内不需要) +db_migrations +# 测试脚本与缓存 +test_*.py +tests +.pytest_cache +.coverage +# 运维修复脚本(宿主机保留,无需进镜像) +fix_*.py +fix_*.sql diff --git a/inventory-backend/Dockerfile b/inventory-backend/Dockerfile index 5b9ec6a..0d1bdc3 100644 --- a/inventory-backend/Dockerfile +++ b/inventory-backend/Dockerfile @@ -5,9 +5,12 @@ WORKDIR /app # 1. 复制依赖并安装 COPY requirements.txt . -# 安装依赖 + gunicorn -RUN pip install --no-cache-dir -r requirements.txt && \ - pip install --no-cache-dir gunicorn +# 安装依赖 + gunicorn(清华镜像源 + BuildKit 缓存挂载) +# ★ 关键优化:pip 下载的 wheel 会缓存在宿主 /root/.cache/pip, +# 只要 requirements.txt 不变,重复构建不再重新下载(首次约100s,之后秒级) +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt && \ + pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gunicorn # 2. 复制后端代码 COPY . .