43 lines
1.3 KiB
Docker
43 lines
1.3 KiB
Docker
# Dockerfile for Facebook Agent 服务
|
||
FROM python:3.12-slim
|
||
|
||
# 设置工作目录
|
||
WORKDIR /app
|
||
|
||
# 设置环境变量
|
||
ENV PYTHONUNBUFFERED=1
|
||
ENV PYTHONDONTWRITEBYTECODE=1
|
||
ENV PYTHONPATH=/app
|
||
|
||
# 安装系统依赖
|
||
RUN apt-get update && apt-get install -y \
|
||
gcc \
|
||
curl \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
# 复制依赖文件(构建上下文是 ..,所以路径是 facebook_agent/requirements.txt)
|
||
COPY facebook_agent/requirements.txt ./requirements.txt
|
||
|
||
# 安装 Python 依赖
|
||
RUN pip install --no-cache-dir -r requirements.txt
|
||
|
||
# 复制应用代码(构建上下文是 ..,所以从 facebook_agent/ 复制到 ./facebook_agent/)
|
||
# 这会将 aks_agent/facebook_agent/ 的内容复制到 /app/facebook_agent/
|
||
COPY facebook_agent/ ./facebook_agent/
|
||
|
||
# 安装curl用于健康检查
|
||
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
|
||
|
||
# 暴露端口
|
||
# 8000: API 服务端口
|
||
# 8001: MCP HTTP 服务端口
|
||
EXPOSE 8000 8001
|
||
|
||
# 健康检查(默认检查8000端口,MCP服务会覆盖)
|
||
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
||
CMD curl -f http://localhost:8000/health || exit 1
|
||
|
||
# 启动命令(默认启动API服务器,可通过command覆盖)
|
||
CMD ["python", "-m", "uvicorn", "facebook_agent.api:app", "--host", "0.0.0.0", "--port", "8000"]
|
||
|