Docker: 优化 docker 部署,配置环境变量默认参数,可以被环境变量覆盖,优化重启机制
This commit is contained in:
parent
1fad0b86be
commit
adda22494f
@ -10,7 +10,7 @@ services:
|
|||||||
- ./server:/app/server
|
- ./server:/app/server
|
||||||
- ./src:/app/src
|
- ./src:/app/src
|
||||||
- ./saves:/app/saves
|
- ./saves:/app/saves
|
||||||
# - ${MODEL_DIR}:/models # 如果出现 undefined volume MODEL_DIR: invalid compose project,请添加此环境变量或者注释此行
|
- ${MODEL_DIR:-./models}:/models # 使用默认值处理未定义的环境变量
|
||||||
ports:
|
ports:
|
||||||
- "5050:5050"
|
- "5050:5050"
|
||||||
networks:
|
networks:
|
||||||
@ -19,12 +19,13 @@ services:
|
|||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
environment:
|
environment:
|
||||||
- NEO4J_URI=bolt://graph:7687
|
- NEO4J_URI=bolt://graph:7687
|
||||||
- NEO4J_USERNAME=neo4j
|
- NEO4J_USERNAME=${NEO4J_USERNAME:-neo4j}
|
||||||
- NEO4J_PASSWORD=0123456789
|
- NEO4J_PASSWORD=${NEO4J_PASSWORD:-0123456789}
|
||||||
- MILVUS_URI=http://milvus:19530
|
- MILVUS_URI=http://milvus:19530
|
||||||
- MODEL_DIR=/models # 优先级高于 .env 中的 MODEL_DIR
|
- MODEL_DIR=/models
|
||||||
- RUNNING_IN_DOCKER=true
|
- RUNNING_IN_DOCKER=true
|
||||||
command: uv run uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload
|
command: uv run uvicorn server.main:app --host 0.0.0.0 --port 5050 --reload
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
web:
|
web:
|
||||||
build:
|
build:
|
||||||
@ -44,8 +45,9 @@ services:
|
|||||||
- app-network
|
- app-network
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=development
|
- NODE_ENV=development
|
||||||
- VITE_API_URL=http://api:5050 # 添加这行
|
- VITE_API_URL=http://api:5050
|
||||||
command: pnpm run server
|
command: pnpm run server
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
graph:
|
graph:
|
||||||
image: neo4j:5.26
|
image: neo4j:5.26
|
||||||
@ -57,12 +59,13 @@ services:
|
|||||||
- ./docker/volumes/neo4j/data:/data
|
- ./docker/volumes/neo4j/data:/data
|
||||||
- ./docker/volumes/neo4j/logs:/var/lib/neo4j/logs
|
- ./docker/volumes/neo4j/logs:/var/lib/neo4j/logs
|
||||||
environment:
|
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_bolt_listen__address=0.0.0.0:7687
|
||||||
- NEO4J_server_http_listen__address=0.0.0.0:7474
|
- NEO4J_server_http_listen__address=0.0.0.0:7474
|
||||||
- ENTITY_EMBEDDING=true
|
- ENTITY_EMBEDDING=true
|
||||||
networks:
|
networks:
|
||||||
- app-network
|
- app-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
etcd:
|
etcd:
|
||||||
container_name: milvus-etcd-dev
|
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
|
command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "etcdctl", "endpoint", "health"]
|
test: ["CMD", "etcdctl", "endpoint", "health"]
|
||||||
interval: 30s
|
interval: 60s
|
||||||
timeout: 20s
|
timeout: 30s
|
||||||
retries: 3
|
retries: 5
|
||||||
|
start_period: 30s
|
||||||
networks:
|
networks:
|
||||||
- app-network
|
- app-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
container_name: milvus-minio-dev
|
container_name: milvus-minio-dev
|
||||||
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
|
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
|
||||||
environment:
|
environment:
|
||||||
MINIO_ACCESS_KEY: minioadmin
|
MINIO_ACCESS_KEY: ${MINIO_ACCESS_KEY:-minioadmin}
|
||||||
MINIO_SECRET_KEY: minioadmin
|
MINIO_SECRET_KEY: ${MINIO_SECRET_KEY:-minioadmin}
|
||||||
volumes:
|
volumes:
|
||||||
- ./docker/volumes/milvus/minio:/minio_data
|
- ./docker/volumes/milvus/minio:/minio_data
|
||||||
command: minio server /minio_data
|
command: minio server /minio_data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||||
interval: 30s
|
interval: 60s
|
||||||
timeout: 20s
|
timeout: 30s
|
||||||
retries: 3
|
retries: 5
|
||||||
|
start_period: 30s
|
||||||
networks:
|
networks:
|
||||||
- app-network
|
- app-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
milvus:
|
milvus:
|
||||||
image: milvusdb/milvus:v2.5.6
|
image: milvusdb/milvus:v2.5.6
|
||||||
@ -109,16 +116,16 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
ETCD_ENDPOINTS: etcd:2379
|
ETCD_ENDPOINTS: etcd:2379
|
||||||
MINIO_ADDRESS: minio:9000
|
MINIO_ADDRESS: minio:9000
|
||||||
MILVUS_LOG_LEVEL: error # Add this line to reduce log output
|
MILVUS_LOG_LEVEL: error
|
||||||
volumes:
|
volumes:
|
||||||
- ./docker/volumes/milvus/milvus:/var/lib/milvus
|
- ./docker/volumes/milvus/milvus:/var/lib/milvus
|
||||||
- ./docker/volumes/milvus/logs:/var/lib/milvus/logs
|
- ./docker/volumes/milvus/logs:/var/lib/milvus/logs
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
|
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
|
||||||
interval: 30s
|
interval: 60s
|
||||||
start_period: 90s
|
start_period: 120s
|
||||||
timeout: 20s
|
timeout: 30s
|
||||||
retries: 3
|
retries: 5
|
||||||
ports:
|
ports:
|
||||||
- "19530:19530"
|
- "19530:19530"
|
||||||
- "9091:9091"
|
- "9091:9091"
|
||||||
@ -127,6 +134,7 @@ services:
|
|||||||
- "minio"
|
- "minio"
|
||||||
networks:
|
networks:
|
||||||
- app-network
|
- app-network
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
app-network:
|
app-network:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user