4.6 KiB
4.6 KiB
基础设施部署文档
概述
本项目使用 Docker Compose 管理所有基础设施服务(MySQL、Redis、Nacos、RocketMQ、Seata 等)。
重要:国内环境无法直接从 Docker Hub 拉取镜像,需要配置国内镜像加速器。
前提条件
1. 安装 Docker 和 Docker Compose
# 安装 Docker
curl -fsSL https://get.docker.com | bash
# 安装 Docker Compose
apt-get install -y docker-compose
# 验证安装
docker --version
docker-compose --version
2. 配置国内 Docker 镜像加速
创建或编辑 /etc/docker/daemon.json:
{
"registry-mirrors": [
"https://dockerproxy.cn",
"https://docker.rainbond.cc",
"https://docker.m.daocloud.io",
"https://docker.wanpeng.top"
],
"storage-driver": "overlay2"
}
然后重启 Docker:
systemctl restart docker
基础设施服务列表
| 服务 | 镜像 | 端口 | 说明 |
|---|---|---|---|
| MySQL | mysql:8.0 | 3307 | 数据库 |
| Redis | redis:7-alpine | 6379 | 缓存 |
| Nacos | nacos/nacos-server:v2.2.3 | 8848, 9848, 9849 | 服务注册与配置中心 |
| RocketMQ | apache/rocketmq:5.1.4 | 9876, 10909, 10911 | 消息队列 |
| Seata | seataio/seata-server:1.7.1 | 8091, 7091 | 分布式事务 |
启动基础设施
方法一:使用 Docker Compose(推荐)
# 进入项目目录
cd /path/to/erp-java-backend
# 启动所有基础设施服务(不包括业务服务)
docker-compose up -d mysql redis nacos rocketmq rocketmq-broker rocketmq-console seata
# 启动所有基础设施(完整)
docker-compose up -d
方法二:逐个启动
# 1. 启动 MySQL
docker-compose up -d mysql
# 2. 启动 Redis
docker-compose up -d redis
# 3. 等待 MySQL 健康检查通过后,启动 Nacos
docker-compose up -d nacos
# 4. 启动 RocketMQ
docker-compose up -d rocketmq rocketmq-broker
验证服务状态
# 查看运行中的容器
docker-compose ps
# 查看容器日志
docker-compose logs -f nacos
# 健康检查
curl http://localhost:8848/nacos/
Nacos 下载地址(国内镜像)
如果需要手动下载 Nacos Server,以下是国内可用的镜像源:
华为云镜像(推荐)
https://repo.huaweicloud.com/alibaba/nacos/2.2.3/nacos-server-2.2.3.tar.gz
中科大镜像
https://mirrors.ustc.edu.cn/github/alibaba/nacos/v2.2.3/nacos-server-2.2.3.tar.gz
腾讯云镜像
https://mirrors.cloud.tencent.com/github/alibaba/nacos/2.2.3/nacos-server-2.2.3.tar.gz
Maven 中央仓库
https://repo.maven.apache.org/maven2/com/alibaba/nacos/nacos-server/2.2.3/nacos-server-2.2.3.tar.gz
GitHub 直链(需要代理)
https://github.com/alibaba/nacos/releases/download/2.2.3/nacos-server-2.2.3.tar.gz
Nacos Docker 镜像
# Docker Hub 镜像(需要配置加速器)
docker pull nacos/nacos-server:v2.2.3
# 或者使用国内镜像
docker pull dockerpull.cn/nacos/nacos-server:v2.2.3
启动后配置
Nacos 控制台
- 访问 http://localhost:8848/nacos
- 默认用户名:
nacos - 默认密码:
nacos
创建配置
Nacos 启动后会自动创建 nacos_config 数据库,但可能需要手动执行初始化脚本:
# 查看 Nacos 初始化 SQL
ls /root/.openclaw/workspace/erp-java-backend/nacos/init/
常见问题
1. Docker Hub 无法访问
问题:Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp
解决:
- 配置国内 Docker 镜像加速器(见上文)
- 或使用代理
2. Nacos 启动失败
检查:
# 查看 Nacos 日志
docker-compose logs nacos
# 检查 MySQL 是否就绪
docker-compose ps mysql
3. 服务无法连接到 Nacos
检查:
- Nacos 是否已启动并通过健康检查
- 网络是否正确配置
- 防火墙是否开放 8848 端口
4. MySQL 连接失败
检查:
# 查看 MySQL 日志
docker-compose logs mysql
# 测试连接
mysql -h localhost -P 3307 -uroot -proot123456
停止服务
# 停止所有服务(保留数据)
docker-compose stop
# 停止并删除容器(保留数据卷)
docker-compose down
# 停止并删除所有数据(危险!)
docker-compose down -v
端口占用检查
如果端口被占用:
# Linux
netstat -tlnp | grep 8848
lsof -i :8848
# 或使用 ss
ss -tlnp | grep 8848
资源要求
| 服务 | 最低内存 | 推荐内存 |
|---|---|---|
| MySQL | 512MB | 1GB |
| Redis | 128MB | 256MB |
| Nacos | 512MB | 1GB |
| RocketMQ | 1GB | 2GB |
| Seata | 256MB | 512MB |
总计:约 2.5GB - 4GB