44 lines
1.3 KiB
YAML
44 lines
1.3 KiB
YAML
# 开发模式:代码挂载 + 内部热重载,无需重建镜像即可生效(类似 K8s 仅更新配置/代码并滚动重启)
|
|
# 使用方式: docker compose -f docker-compose.yml -f docker-compose.dev.yml up
|
|
# 或: ./docker_dev.sh dev
|
|
|
|
services:
|
|
backend:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.backend
|
|
container_name: ops-core-backend
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./data:/app/data
|
|
# 挂载代码:宿主机修改后由 uvicorn --reload 自动重启进程,无需重建容器
|
|
- ./backend:/app/backend
|
|
ports:
|
|
- "8000:8000"
|
|
# 仅重启进程,不重启容器;代码变更由 reload 自动加载
|
|
command: uvicorn backend.app.main:app --host 0.0.0.0 --port 8000 --reload
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend_spa
|
|
dockerfile: Dockerfile.dev
|
|
image: aitool-frontend-dev
|
|
working_dir: /app
|
|
container_name: ops-core-frontend
|
|
volumes:
|
|
- ./frontend_spa:/app
|
|
- frontend_spa_node_modules:/app/node_modules
|
|
# 宿主机 3001 避免与占用 3000 的进程冲突;访问 http://localhost:3001
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
NODE_ENV: development
|
|
VITE_DEV_PROXY_TARGET: http://backend:8000
|
|
# 开发模式:命令在 Dockerfile.dev 的 CMD 中
|
|
depends_on:
|
|
- backend
|
|
|
|
volumes:
|
|
frontend_spa_node_modules:
|