erp-java/docs/DEPLOYMENT_INFRASTRUCTURE.md

4.6 KiB
Raw Permalink Blame History

基础设施部署文档

概述

本项目使用 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 控制台

  1. 访问 http://localhost:8848/nacos
  2. 默认用户名:nacos
  3. 默认密码: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

解决

  1. 配置国内 Docker 镜像加速器(见上文)
  2. 或使用代理

2. Nacos 启动失败

检查

# 查看 Nacos 日志
docker-compose logs nacos

# 检查 MySQL 是否就绪
docker-compose ps mysql

3. 服务无法连接到 Nacos

检查

  1. Nacos 是否已启动并通过健康检查
  2. 网络是否正确配置
  3. 防火墙是否开放 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