stockapi / Dockerfile
dragg2's picture
Update Dockerfile
33817e4 verified
# 使用多阶段构建以减少最终镜像大小
FROM node:18-alpine as frontend-builder
# 安装git
RUN apk add --no-cache git
# 克隆代码库
RUN git clone https://github.com/lanzhihong6/stock-scanner.git /app
# 设置前端工作目录
WORKDIR /app/frontend
# 安装依赖并构建前端
RUN npm ci && npm run build
# 后端阶段
FROM python:3.10-slim
# 设置工作目录
WORKDIR /app
# 安装git和运行时依赖
RUN apt-get update && apt-get install -y \
git \
libgl1-mesa-glx \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# 克隆代码库
RUN git clone https://github.com/lanzhihong6/stock-scanner.git /app && \
chmod -R 777 /app && \
chmod +x /app/web_server.py
# 安装Python依赖
RUN pip install --no-cache-dir -r requirements.txt
# 从前端构建阶段复制生成的静态文件到后端的前端目录
COPY --from=frontend-builder /app/frontend/dist /app/frontend/dist
# 暴露端口
EXPOSE 8888
# 启动命令
CMD ["python", "web_server.py"]