| .. | ||
| web | ||
| build.sh | ||
| docker-compose.infra.yml | ||
| docker-compose.svc.test.yml | ||
| docker-compose.svc.yml | ||
| docker-compose.web.test.yml | ||
| docker-compose.web.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| pack-image.sh | ||
| README.md | ||
| settings.xml | ||
| start.sh | ||
碳信网 - Docker 部署指南
概述
本目录包含碳信网项目的 Docker 编排配置,分为两部分:
- 基础设施服务:nacos、redis、minio
- 业务服务:gateway、sso、mhzc、yygl
构建镜像
前置要求
- Docker 20.10+
- Maven 3.6+
- Node.js 16+
- npm
构建命令
cd devops
# 构建所有镜像(前后端)
bash build.sh [VERSION]
# 示例:构建 1.0.0-BETA 版本
bash build.sh 1.0.0-BETA
构建脚本会依次完成:
- 构建前端 mhzc-web
- 构建前端 yygl-web
- 构建后端统一镜像
txw-all - 构建前端镜像
txw-web
仅构建后端
docker build -t txw-all:1.0.0-BETA -t txw-all:latest -f devops/Dockerfile .
仅构建前端
docker build -t txw-web:1.0.0-BETA -t txw-web:latest -f devops/web/Dockerfile .
更新镜像
代码变更后,重新构建并启动:
# 1. 重新构建镜像
bash build.sh 1.0.0-BETA
# 2. 重启业务服务(使用新镜像)
docker-compose -f docker-compose.svc.yml up -d --build
查看镜像
docker images | grep txw-
目录结构
devops/
├── docker-compose.infra.yml # 基础设施编排
├── docker-compose.svc.yml # 业务服务编排
├── nacos/ # Nacos 数据持久化目录
│ ├── data/
│ └── logs/
└── README.md
快速开始
1. 准备docker网络(首次必须)
docker network create txw-network
2. 启动基础设施(首次必须)
cd devops
docker-compose -f docker-compose.infra.yml up -d
3. 启动业务服务
docker-compose -f docker-compose.svc.yml up -d
4. 查看服务状态
docker-compose -f docker-compose.infra.yml ps
docker-compose -f docker-compose.svc.yml ps
服务访问
| 服务 | 地址 | 说明 |
|---|---|---|
| Nacos | http://localhost:8848/nacos | 默认账号: nacos / nacos |
| Redis | localhost:6379 | 密码: redis_password |
| MinIO | http://localhost:9000 | 控制台: http://localhost:9001 |
| Gateway | http://localhost:9300 | API 网关 |
| SSO | http://localhost:9301 | 单点登录 |
| MHZC | http://localhost:9302 | 碳资产服务 |
| YYGL | http://localhost:20010 | 运营管理服务 |
常用操作
查看日志
# 基础设施日志
docker-compose -f docker-compose.infra.yml logs -f
# 业务服务日志
docker-compose -f docker-compose.svc.yml logs -f
# 单个服务日志
docker-compose -f docker-compose.infra.yml logs -f nacos
docker-compose -f docker-compose.svc.yml logs -f gateway
重启服务
# 重启单个服务
docker-compose -f docker-compose.svc.yml restart gateway
# 重启所有业务服务
docker-compose -f docker-compose.svc.yml restart
停止服务
# 停止业务服务
docker-compose -f docker-compose.svc.yml down
# 停止所有服务(包括基础设施)
docker-compose -f docker-compose.infra.yml down
docker-compose -f docker-compose.svc.yml down
重建服务
# 重新构建并启动(代码更新后使用)
docker-compose -f docker-compose.svc.yml up -d --build
数据持久化
| 服务 | 宿主机路径 |
|---|---|
| Nacos data | ./nacos/data |
| Nacos logs | ./nacos/logs |
| Redis data | Docker volume: redis-data |
| MinIO data | Docker volume: minio-data |
网络说明
所有服务通过 txw-network 桥接网络互通:
- 基础设施创建网络并定义 volumes
- 业务服务通过
external: true加入网络
注意:启动业务服务前,必须先启动基础设施,确保网络已创建。
开发调试
进入容器
docker exec -it txw-nacos bash
docker exec -it txw-gateway bash
检查网络
docker network inspect devops_txw-network
检查服务健康状态
curl http://localhost:8848/nacos/v1/ns/operator/metrics
docker exec txw-redis redis-cli -a redis_password ping