|
|
@@ -0,0 +1,26 @@
|
|
|
+FROM python:3.12-slim
|
|
|
+WORKDIR /app
|
|
|
+
|
|
|
+# 装基础依赖避免构建中断
|
|
|
+RUN apt-get update && apt-get install -y --no-install-recommends curl && \
|
|
|
+ rm -rf /var/lib/apt/lists/*
|
|
|
+
|
|
|
+# 安装 Poetry(固定版本以避免变动)
|
|
|
+ENV POETRY_VERSION=1.8.3
|
|
|
+RUN pip install --no-cache-dir "poetry==${POETRY_VERSION}"
|
|
|
+
|
|
|
+# 先复制依赖声明,利用缓存
|
|
|
+COPY pyproject.toml poetry.lock /app/
|
|
|
+
|
|
|
+# 禁用虚拟环境,直接装到系统环境
|
|
|
+RUN poetry config virtualenvs.create false && \
|
|
|
+ poetry install --no-root --no-interaction --no-ansi
|
|
|
+
|
|
|
+# 复制全部代码(满足“导入所有代码”)
|
|
|
+COPY . /app
|
|
|
+
|
|
|
+ENV PYTHONUNBUFFERED=1
|
|
|
+EXPOSE 33333
|
|
|
+
|
|
|
+# 按实际入口调整;示例为 FastAPI + uvicorn
|
|
|
+CMD ["uvicorn", "alien_store.api.router:app", "--host", "0.0.0.0", "--port", "8000"]
|