FROM registry.cn-hangzhou.aliyuncs.com/stuuudy/python:3.13-slim WORKDIR /app # 安装系统依赖(使用阿里云镜像源) RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources \ && apt-get update \ && apt-get install -y --no-install-recommends curl \ && rm -rf /var/lib/apt/lists/* # 复制依赖文件:Agent 框架依赖 + 业务特有依赖 COPY requirements.txt ./requirements-framework.txt COPY examples/auto_put_ad_mini/requirements.txt ./requirements-business.txt # 安装 Python 依赖(使用阿里云 PyPI 镜像) # 先安装框架依赖(含 langchain_core/browser-use 等),再装业务依赖 RUN pip install --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/ \ -r requirements-framework.txt \ -r requirements-business.txt # 复制项目代码(参考成功案例的风格) COPY agent/ ./agent/ COPY im-client/ ./im-client/ COPY examples/auto_put_ad/ ./examples/auto_put_ad/ COPY examples/auto_put_ad_mini/ ./examples/auto_put_ad_mini/ # 设置工作目录到业务目录(参考成功案例) WORKDIR /app/examples/auto_put_ad_mini # 创建输出目录 RUN mkdir -p outputs/{raw,ad_status,reports,execution_log,data} # 设置环境变量 ENV PYTHONUNBUFFERED=1 \ TZ=UTC \ PYTHONPATH=/app # 暴露端口 EXPOSE 8080 # 健康检查 HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ CMD curl -f http://localhost:8080/health || python -c "import pathlib; pathlib.Path('/app/examples/auto_put_ad_mini/outputs').exists()" || exit 1 # 启动命令 CMD ["python", "server.py"]