From c225fc67a7fb25e40cee573c624ad0fca11c3fb9 Mon Sep 17 00:00:00 2001 From: RYDE-WORK Date: Mon, 26 Jan 2026 11:11:52 +0800 Subject: [PATCH] Dedicated docker-compose.yml for gpu deployment --- docker-compose-gpu.yml | 54 ++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 11 --------- 2 files changed, 54 insertions(+), 11 deletions(-) create mode 100644 docker-compose-gpu.yml diff --git a/docker-compose-gpu.yml b/docker-compose-gpu.yml new file mode 100644 index 0000000..01cc47b --- /dev/null +++ b/docker-compose-gpu.yml @@ -0,0 +1,54 @@ +services: + # FastAPI 后端服务 + api: + build: + context: . + dockerfile: Dockerfile + target: api + container_name: lnp-api + environment: + - MODEL_PATH=/app/models/final/model.pt + volumes: + # 挂载模型目录以便更新模型 + - ./models/final:/app/models/final:ro + - ./models/mpnn:/app/models/mpnn:ro + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000/"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 60s + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] + + # Streamlit 前端服务 + streamlit: + build: + context: . + dockerfile: Dockerfile + target: streamlit + container_name: lnp-streamlit + ports: + - "8501:8501" + environment: + - API_URL=http://api:8000 + depends_on: + api: + condition: service_started + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8501/_stcore/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + +networks: + default: + name: lnp-network diff --git a/docker-compose.yml b/docker-compose.yml index 83f0ec5..9185138 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,8 +6,6 @@ services: dockerfile: Dockerfile target: api container_name: lnp-api - # ports: - # - "8000:8000" environment: - MODEL_PATH=/app/models/final/model.pt - DEVICE=cpu @@ -22,14 +20,6 @@ services: timeout: 10s retries: 3 start_period: 60s - # 如果有 NVIDIA GPU,取消下面的注释 - # deploy: - # resources: - # reservations: - # devices: - # - driver: nvidia - # count: 1 - # capabilities: [gpu] # Streamlit 前端服务 streamlit: @@ -41,7 +31,6 @@ services: ports: - "8501:8501" environment: - # 连接到 API 服务(使用 Docker 内部网络) - API_URL=http://api:8000 depends_on: api: