Prechádzať zdrojové kódy

dockerfile 增加对nodejs对处理

luojunhui 1 mesiac pred
rodič
commit
9849565772
1 zmenil súbory, kde vykonal 11 pridanie a 11 odobranie
  1. 11 11
      Dockerfile

+ 11 - 11
Dockerfile

@@ -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