| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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/*
- # 复制依赖文件(参考成功案例的路径风格)
- COPY examples/auto_put_ad_mini/requirements.txt .
- # 安装 Python 依赖(使用阿里云 PyPI 镜像)
- RUN pip install --no-cache-dir -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt
- # 复制项目代码(参考成功案例的风格)
- COPY agent/ ./agent/
- 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"]
|