From dd73a4518bc060c07039ad65e4857e213971d13a Mon Sep 17 00:00:00 2001 From: lhx Date: Sat, 29 Nov 2025 16:02:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E9=AB=98=E5=86=85=E5=AD=98=E8=BF=9B?= =?UTF-8?q?=E7=A8=8B=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 7 +++++-- docker-compose.yml | 21 ++++++++++++++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index cdd25c9..a3cd735 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,5 +29,8 @@ RUN mkdir -p /app/logs && chmod 755 /app/logs # 暴露端口 EXPOSE 8000 -# 启动命令,启用详细日志 -CMD ["python", "-m", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--access-log", "--log-level", "info"] +# 安装gunicorn +RUN pip install --no-cache-dir gunicorn==21.2.0 + +# 启动命令,使用gunicorn,4个workers +CMD ["gunicorn", "app.main:app", "-w", "4", "-k", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:8000", "--timeout", "120", "--keepalive", "5"] diff --git a/docker-compose.yml b/docker-compose.yml index 59004a6..16ad1f3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,4 +14,23 @@ services: - ./logs:/app/logs # 配置文件映射 - ./.env:/app/.env:ro - restart: unless-stopped \ No newline at end of file + restart: unless-stopped + + # 资源限制 + deploy: + resources: + limits: + # 内存限制:8GB(充分利用94GB内存) + memory: 10G + # CPU限制:12个CPU核心(32核心服务器,使用约1/3) + cpus: '12.0' + reservations: + # 预留内存:2GB + memory: 2G + # 预留CPU:4个核心 + cpus: '4.0' + + # 环境变量 + environment: + # 生产模式 + - APP_DEBUG=false \ No newline at end of file