|
@@ -1,3 +1,5 @@
|
|
|
+FROM node:24-alpine AS node_builder
|
|
|
+
|
|
|
FROM python:3.11-slim
|
|
|
WORKDIR /app
|
|
|
|
|
@@ -5,21 +7,19 @@ ENV PYTHONDONTWRITEBYTECODE 1
|
|
|
ENV PYTHONUNBUFFERED 1
|
|
|
ENV PIP_DISABLE_PIP_VERSION_CHECK=on
|
|
|
|
|
|
+# 安装依赖 + 拷贝 Node.js 和 npm
|
|
|
RUN apt-get update && \
|
|
|
- apt-get install -y --no-install-recommends \
|
|
|
- curl \
|
|
|
- gcc \
|
|
|
- libpq-dev \
|
|
|
- xz-utils \
|
|
|
- && \
|
|
|
- curl -fsSL https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz | tar -xJ -C /usr/local --strip-components=1 --no-same-owner && \
|
|
|
+ apt-get install -y --no-install-recommends curl gcc libpq-dev ca-certificates && \
|
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
-# 验证 node 和 npm
|
|
|
+# 从 node_builder 拷贝 node 和 npm 到系统路径
|
|
|
+COPY --from=node_builder /usr/local/bin/node /usr/local/bin/
|
|
|
+COPY --from=node_builder /usr/local/bin/npm /usr/local/bin/
|
|
|
+COPY --from=node_builder /usr/local/lib/node_modules /usr/local/lib/node_modules
|
|
|
+
|
|
|
+# 验证 node 和 npm 是否安装成功(可选)
|
|
|
RUN node -v && npm -v
|
|
|
-RUN apt-get update && \
|
|
|
- apt-get install -y --no-install-recommends gcc libpq-dev && \
|
|
|
- rm -rf /var/lib/apt/lists/*
|
|
|
+
|
|
|
|
|
|
COPY requirements.txt .
|
|
|
RUN pip install --no-cache-dir -r requirements.txt
|