| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # 企业运营 / Admin.NET 一体化编排(前后端 + 反代)
- #
- # 1. 数据库连接:默认使用镜像内打包的 Configuration(多为开发库)。
- # 生产请通过挂载覆盖,例如:
- # volumes:
- # - ./docker/overrides/Database.json:/app/Configuration/Database.json:ro
- # 或按 Furion 文档使用环境变量覆盖连接串。
- #
- # 2. 启动:
- # docker compose up -d --build
- #
- # 3. 端口(固定与历史布局对齐,可被环境变量覆盖):
- # - 9100:前端 HTTP(Nginx 80 → 静态 + /prod-api → api)
- # - 9102:后端 API 直连(Kestrel 5005)
- # - 9103:前端 HTTPS(Nginx 443,镜像内自签证书;浏览器会提示不受信任属正常)
- # 环境变量:WEB_PORT、WEB_HTTPS_PORT、API_HTTP_PORT(默认分别为 9100、9103、9102)
- services:
- api:
- build:
- context: .
- dockerfile: docker/Dockerfile.api
- image: aidop-api:latest
- container_name: aidop-api
- restart: unless-stopped
- environment:
- ASPNETCORE_ENVIRONMENT: Production
- ASPNETCORE_URLS: http://0.0.0.0:5005
- TZ: Asia/Shanghai
- # 见 Admin.NET.Core SqlSugarSetup:对已有库跳过 CodeFirst/种子,避免 “Multiple primary key” 等启动失败
- DOCKER_SKIP_DBINIT: "1"
- # 日志与上传持久化(按需调整宿主机路径)
- volumes:
- - aidop-api-logs:/app/logs
- - aidop-api-www-upload:/app/wwwroot/upload
- ports:
- - "${API_HTTP_PORT:-9102}:5005"
- networks:
- - aidop-net
- web:
- build:
- context: .
- dockerfile: docker/Dockerfile.web
- image: aidop-web:latest
- container_name: aidop-web
- restart: unless-stopped
- depends_on:
- - api
- ports:
- - "${WEB_PORT:-9100}:80"
- - "${WEB_HTTPS_PORT:-9103}:443"
- networks:
- - aidop-net
- networks:
- aidop-net:
- driver: bridge
- volumes:
- aidop-api-logs:
- aidop-api-www-upload:
|