docker-compose.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # 企业运营 / Admin.NET 一体化编排(前后端 + 反代)
  2. #
  3. # 1. 数据库连接:默认使用镜像内打包的 Configuration(多为开发库)。
  4. # 生产请通过挂载覆盖,例如:
  5. # volumes:
  6. # - ./docker/overrides/Database.json:/app/Configuration/Database.json:ro
  7. # 或按 Furion 文档使用环境变量覆盖连接串。
  8. #
  9. # 2. 启动:
  10. # docker compose up -d --build
  11. #
  12. # 3. 端口(固定与历史布局对齐,可被环境变量覆盖):
  13. # - 9100:前端 HTTP(Nginx 80 → 静态 + /prod-api → api)
  14. # - 9102:后端 API 直连(Kestrel 5005)
  15. # - 9103:前端 HTTPS(Nginx 443,镜像内自签证书;浏览器会提示不受信任属正常)
  16. # 环境变量:WEB_PORT、WEB_HTTPS_PORT、API_HTTP_PORT(默认分别为 9100、9103、9102)
  17. services:
  18. api:
  19. build:
  20. context: .
  21. dockerfile: docker/Dockerfile.api
  22. image: aidop-api:latest
  23. container_name: aidop-api
  24. restart: unless-stopped
  25. environment:
  26. ASPNETCORE_ENVIRONMENT: Production
  27. ASPNETCORE_URLS: http://0.0.0.0:5005
  28. TZ: Asia/Shanghai
  29. # 见 Admin.NET.Core SqlSugarSetup:对已有库跳过 CodeFirst/种子,避免 “Multiple primary key” 等启动失败
  30. DOCKER_SKIP_DBINIT: "1"
  31. # 日志与上传持久化(按需调整宿主机路径)
  32. volumes:
  33. - aidop-api-logs:/app/logs
  34. - aidop-api-www-upload:/app/wwwroot/upload
  35. ports:
  36. - "${API_HTTP_PORT:-9102}:5005"
  37. networks:
  38. - aidop-net
  39. web:
  40. build:
  41. context: .
  42. dockerfile: docker/Dockerfile.web
  43. image: aidop-web:latest
  44. container_name: aidop-web
  45. restart: unless-stopped
  46. depends_on:
  47. - api
  48. ports:
  49. - "${WEB_PORT:-9100}:80"
  50. - "${WEB_HTTPS_PORT:-9103}:443"
  51. networks:
  52. - aidop-net
  53. networks:
  54. aidop-net:
  55. driver: bridge
  56. volumes:
  57. aidop-api-logs:
  58. aidop-api-www-upload: