ThingsBoard 使用 msa 构建镜像并部署
正文与配图来自原稿。完整链路:拉代码 → 远程 Docker 构建镜像 → 用官方 docker 目录 Compose 部署。
远程 Docker / 排错详见:msa 构建镜像(配置与排错);推 Harbor 见:msa 构建并上传 Harbor。
1、官方拉取最新代码
原稿示例分支为 v3.4.4:
bash
git clone -b v3.4.4 https://github.com/thingsboard/thingsboard.git若跟本专栏 4.3.x,请改成对应 tag / release-4.3,后续镜像名与 Compose 版本一并调整。
2、进入到目录下
克隆完成后进入源码根目录:

3、配置服务器的 Docker 远程访问
略……(与前几篇相同:改 docker.service 增加 -H tcp://0.0.0.0:2375,本机设 DOCKER_HOST。)
步骤见:msa 构建镜像(配置与排错)。
4、开始编译并构建镜像
bash
mvn -T 8 license:format clean install -DskipTests -Ddockerfile.skip=false说明:
-T 8:8 线程并行,加快编译(也可用-T 1C,见 提高 Maven 编译速度)license:format:自动补 license 头,减少 check 失败-Ddockerfile.skip=false:真正打 Docker 镜像(需DOCKER_HOST指向可用 Docker)
5、查看服务器上的镜像
构建完成后在 Docker 主机上查看镜像列表:

6、服务器上拉取代码
部署主要用源码里 docker 目录下的 Compose 与脚本:
bash
git clone -b v3.4.4 https://github.com/thingsboard/thingsboard.git进入 docker 目录:

7、开始部署
参考官方文档:
Cluster setup with Docker Compose
7.1、编辑 .env
按环境修改配置,注意:
- 数据用哪种存储方式
- 队列选型
- 是否开启监控
按自己需要改:

7.2、创建日志目录并初始化
bash
./docker-create-log-folders.sh
./docker-install-tb.sh --loadDemo执行结果示例:

7.3、修改 docker-compose.yml 并启动
默认 Compose 往往会起多个节点。若资源有限,每个服务只保留一个实例即可,删掉多余副本/节点定义。
启动:
bash
./docker-start-services.sh执行结果:

启动后容器会很多——若完全按默认 docker-compose.yml 拉起,就是多节点集群。不需要这么多时,先精简 Compose 再启动:

8、测试
浏览器访问 Web(端口以 .env / Compose 映射为准,常见 8080),用演示账号登录,确认设备接入、遥测上报正常。
补充(辅)
- 构建机与运行机可以是同一台:先
mvn … -Ddockerfile.skip=false出镜像,再在本机docker目录部署。 - 镜像仓库前缀若自定义过
docker.repo,Compose /.env里的镜像名要改成一致。 - 单机 PoC 也可直接用 Ubuntu Docker 部署 4.3.x 的精简 Compose,不必上全量集群文件。
