From 0d187aba64a61a16e0a8ed2cd591aaae6b1992c3 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Fri, 9 May 2025 16:10:45 +0800 Subject: [PATCH] =?UTF-8?q?Docker:=20=E4=BC=98=E5=8C=96=20docker=20?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=EF=BC=8C=E9=85=8D=E7=BD=AE=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E9=BB=98=E8=AE=A4=E5=8F=82=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E8=A2=AB=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E8=A6=86=E7=9B=96=EF=BC=8C=E4=BC=98=E5=8C=96=E9=87=8D=E5=90=AF?= =?UTF-8?q?=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 46 +++++++++++++++++++++++++++------------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b58179d7..ad801792 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ services: - ./server:/app/server - ./src:/app/src - ./saves:/app/saves - # - ${MODEL_DIR}:/models # 如果出现 undefined volume MODEL_DIR: invalid compose project,请添加此环境变量或者注释此行 + - ${MODEL_DIR:-./models}:/models # 使用默认值处理未定义的环境变量 ports: - "5050:5050" networks: @@ -19,12 +19,13 @@ services: - "host.docker.internal:host-gateway" environment: - NEO4J_URI=bolt://graph:7687 - - NEO4J_USERNAME=neo4j - - NEO4J_PASSWORD=0123456789 + - NEO4J_USERNAME=${NEO4J_USERNAME:-neo4j} + - NEO4J_PASSWORD=${NEO4J_PASSWORD:-0123456789} - MILVUS_URI=http://milvus:19530 - - MODEL_DIR=/models # 优先级高于 .env 中的 MODEL_DIR + - MODEL_DIR=/models - RUNNING_IN_DOCKER=true command: uv run uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload + restart: unless-stopped web: build: @@ -44,8 +45,9 @@ services: - app-network environment: - NODE_ENV=development - - VITE_API_URL=http://api:5050 # 添加这行 + - VITE_API_URL=http://api:5050 command: pnpm run server + restart: unless-stopped graph: image: neo4j:5.26 @@ -57,12 +59,13 @@ services: - ./docker/volumes/neo4j/data:/data - ./docker/volumes/neo4j/logs:/var/lib/neo4j/logs environment: - - NEO4J_AUTH=neo4j/0123456789 + - NEO4J_AUTH=${NEO4J_USERNAME:-neo4j}/${NEO4J_PASSWORD:-0123456789} - NEO4J_server_bolt_listen__address=0.0.0.0:7687 - NEO4J_server_http_listen__address=0.0.0.0:7474 - ENTITY_EMBEDDING=true networks: - app-network + restart: unless-stopped etcd: container_name: milvus-etcd-dev @@ -77,28 +80,32 @@ services: command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd healthcheck: test: ["CMD", "etcdctl", "endpoint", "health"] - interval: 30s - timeout: 20s - retries: 3 + interval: 60s + timeout: 30s + retries: 5 + start_period: 30s networks: - app-network + restart: unless-stopped minio: container_name: milvus-minio-dev image: minio/minio:RELEASE.2023-03-20T20-16-18Z environment: - MINIO_ACCESS_KEY: minioadmin - MINIO_SECRET_KEY: minioadmin + MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-minioadmin} + MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-minioadmin} volumes: - ./docker/volumes/milvus/minio:/minio_data command: minio server /minio_data healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] - interval: 30s - timeout: 20s - retries: 3 + interval: 60s + timeout: 30s + retries: 5 + start_period: 30s networks: - app-network + restart: unless-stopped milvus: image: milvusdb/milvus:v2.5.6 @@ -109,16 +116,16 @@ services: environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 - MILVUS_LOG_LEVEL: error # Add this line to reduce log output + MILVUS_LOG_LEVEL: error volumes: - ./docker/volumes/milvus/milvus:/var/lib/milvus - ./docker/volumes/milvus/logs:/var/lib/milvus/logs healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"] - interval: 30s - start_period: 90s - timeout: 20s - retries: 3 + interval: 60s + start_period: 120s + timeout: 30s + retries: 5 ports: - "19530:19530" - "9091:9091" @@ -127,6 +134,7 @@ services: - "minio" networks: - app-network + restart: unless-stopped networks: app-network: