FROM python:3.11 # 兼容新老 debian/ubuntu 换源 RUN (sed -i 's@http://deb.debian.org@http://mirrors.aliyun.com@g' /etc/apt/sources.list 2>/dev/null || true) && \ (sed -i 's@http://security.debian.org@http://mirrors.aliyun.com@g' /etc/apt/sources.list 2>/dev/null || true) && \ find /etc/apt/sources.list.d/ -name "*.list" -exec sed -i 's@http://deb.debian.org@http://mirrors.aliyun.com@g' {} \; && \ find /etc/apt/sources.list.d/ -name "*.list" -exec sed -i 's@http://security.debian.org@http://mirrors.aliyun.com@g' {} \; # 安装 Node.js 和 supervisord RUN apt-get update && \ apt-get install -y curl supervisor && \ curl -fsSL https://deb.nodesource.com/setup_21.x | bash - && \ apt-get install -y nodejs && \ apt-get clean # 设置 pip 国内镜像(清华) RUN mkdir -p /root/.pip && \ echo "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple\ntrusted-host = pypi.tuna.tsinghua.edu.cn" > /root/.pip/pip.conf # 设置工作目录 WORKDIR /app # 复制前端代码并安装依赖、构建 COPY platform/ ./platform/ WORKDIR /app/platform # 构建前先删除 dist,确保不会用到本地遗留产物 RUN rm -rf dist && npm install && npm run build RUN ls -l /app/platform # 安装 http-server RUN npm install -g http-server # 复制后端代码并安装依赖 WORKDIR /app/back COPY back/requirements.txt . RUN pip install -r requirements.txt COPY back/ . RUN ls -l /app/back # supervisor 配置 COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf WORKDIR /app CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]