# 对外仅暴露 443(HTTPS);内部 api/web/admin 不映射宿主机端口 # version 已废弃,已移除 services: # 二进制由脚本构建到 deploy/api/server,挂载 deploy/api 即可更新,无需重建镜像 api: build: context: . dockerfile: server/Dockerfile.run args: REGISTRY_MIRROR: ${REGISTRY_MIRROR:-} image: yh_web-api-run:latest container_name: yh_api volumes: - ./deploy/api:/app:ro - ./data/uploads:/app/uploads env_file: - ./server/.env environment: - PORT=8088 - MONGODB_URI=${MONGODB_URI:-mongodb://mongo:27017} - MONGODB_DB=${MONGODB_DB:-yxd-agent-testing} - GIN_MODE=release - ALLOWED_ORIGINS=${ALLOWED_ORIGINS:-https://yuheng.yuxindazhineng.com} depends_on: - mongo networks: - yh_net # 静态文件由脚本构建到 deploy/web/dist,挂载后替换文件即可生效 web: image: ${REGISTRY_MIRROR:-docker.m.daocloud.io/library/}nginx:alpine container_name: yh_web volumes: - ./deploy/web/dist:/usr/share/nginx/html:ro - ./deploy/web/default.conf:/etc/nginx/conf.d/default.conf:ro - ./verify-root:/verify-root:ro networks: - yh_net # 静态文件由脚本构建到 deploy/admin/dist,挂载后替换文件即可生效 admin: image: ${REGISTRY_MIRROR:-docker.m.daocloud.io/library/}nginx:alpine container_name: yh_admin volumes: - ./deploy/admin/dist:/usr/share/nginx/html:ro - ./deploy/admin/default.conf:/etc/nginx/conf.d/default.conf:ro networks: - yh_net nginx: image: ${REGISTRY_MIRROR:-docker.m.daocloud.io/library/}nginx:alpine container_name: yh_nginx ports: - "443:443" volumes: - ./nginx/yuheng.docker.conf:/etc/nginx/conf.d/default.conf:ro - /etc/ssl/yh_web/yuheng.yuxindazhineng.com:/etc/ssl/yh_web/yuheng.yuxindazhineng.com:ro depends_on: - api - web - admin networks: - yh_net mongo: # 国内默认走镜像;海外可 export REGISTRY_MIRROR= 后直连 image: ${REGISTRY_MIRROR:-docker.m.daocloud.io/library/}mongo:7 container_name: yh_mongo volumes: - mongo_data:/data/db networks: - yh_net # 仅内网,不暴露端口(API 容器内用 mongo:27017) # ports: # - "27017:27017" networks: yh_net: driver: bridge volumes: mongo_data: