Skip to content

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、进入到目录下 ​

克隆完成后进入源码根目录:

进入 thingsboard 源码目录

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 主机上查看镜像列表:

服务器上的 ThingsBoard 相关镜像

6、服务器上拉取代码 ​

部署主要用源码里 docker 目录下的 Compose 与脚本:

bash
git clone -b v3.4.4 https://github.com/thingsboard/thingsboard.git

进入 docker 目录:

进入 docker 目录

7、开始部署 ​

参考官方文档:
Cluster setup with Docker Compose

7.1、编辑 .env ​

按环境修改配置,注意:

  • 数据用哪种存储方式
  • 队列选型
  • 是否开启监控

按自己需要改:

编辑 .env

7.2、创建日志目录并初始化 ​

bash
./docker-create-log-folders.sh
./docker-install-tb.sh --loadDemo

执行结果示例:

docker-install-tb 结果

7.3、修改 docker-compose.yml 并启动 ​

默认 Compose 往往会起多个节点。若资源有限,每个服务只保留一个实例即可,删掉多余副本/节点定义。

启动:

bash
./docker-start-services.sh

执行结果:

docker-start-services 结果

启动后容器会很多——若完全按默认 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,不必上全量集群文件。

相关文章 ​