分享|五分钟快速学会 ThingsBoard 打包镜像和 Docker 部署
编译
在前面的博客中详细介绍了如何进行编译,本篇博客需要确保您的系统已经安装了 Docker 和 Docker Compose。如果尚未安装,您可以通过官方网站获取安装说明。
-
在进行镜像打包时需要在命令行添加
-Ddockerfile.skip=false
mvn clean install -DskipTests -Ddockerfile.skip=false
-
或者可以修改
msa
目录下的pom.xml
,查找dockerfile.skip
,并修改为false
-
编译成功可以看到
BUILD SUCCESS
,如下图所示 -
此时在终端输入
docker images
,查看已经生成的镜像
部署
在微服务启动前,首先修改相关配置
-
修改
.env
-
根据
.env
中选择的缓存和数据库,修改对应.env
postgres.env
-
修改
docker-compose
注释掉不用的协议
修改容器中数据库配置
修改镜像
启动
ThingsBoard 微服务在 Docker 化环境中运行。在开始之前,请确保您的系统中已安装Docker CE和Docker Compose。
-
执行以下命令为服务创建日志文件夹,并将这些文件夹的 chown 给 docker 容器用户。为了能够更改用户,使用chown命令,这需要 sudo 权限(脚本将请求 sudo 访问的密码):
./docker-create-log-folders.sh
-
执行以下命令来运行安装:
--loadDemo- 可选参数。是否加载额外的演示数据
./docker-install-tb.sh --loadDemo
-
执行以下命令启动服务:
一段时间后,所有服务都将成功启动,可以在浏览器中打开
http://{your-host-ip}
./docker-start-services.sh
-
如果出现任何问题,您可以检查服务日志中是否有错误。例如,要查看
ThingsBoard
节点日志,请执行以下命令:$ docker-compose logs -f tb-core1 tb-core2 tb-rule-engine1 tb-rule-engine2 tb-mqtt-transport1 tb-mqtt-transport2
或者用来
docker-compose ps
查看所有容器的状态。用docker-compose logs --f
检查所有正在运行的服务的日志。 -
执行以下命令停止服务:
./docker-stop-services.sh
-
执行以下命令来停止并完全删除已部署的 docker 容器:
./docker-remove-services.sh
-
执行以下命令来更新特定或所有服务(拉取较新的 docker 映像并重建容器):
[SERVICE...]- 要更新的服务列表(在 docker-compose 配置中定义)。如果未指定,所有服务都将更新
$ ./docker-update-service.sh [SERVICE...]
验证
-
访问部署服务,端口默认为80可以省略
-
查看此时docker中运行的容器
docker ps
常见问题FAQ
Error changing permissions of ‘/var/lib/postgresql/data’: Permission denied
此问题可对postgres日志及挂载目录使用
chmod 777
进行解决。或是在docker-compose.postgres.yml
中添加volumes
挂载。
Error opening log file ‘/var/log/thingsboard/tb-core1-gc.log
若遇到此报错问题,可能是因为在未授予配置文件权限的情况下进行了一次启动。这时已经生成了挂载文件,即使再次对配置文件赋予权限,仍然会导致上述报错的出现。
- 对日志目录和挂载目录重新赋权
chown -R 799:799 ./tb-node/log
关于我们
"亿琪软件"
上海亿琪软件有限公司成立于 2016 年,专注于 5G 通信、AI 人工智能、边缘计算和大数据网络安全多项技术领域,致力于物联网领域前沿技术的创新,为用户提供全方位、智能化和安全的物联网解决方案。
2023 年,公司发布“YiFUSION |工业边缘智能融合一体机”产品,为工业客户提供一整套的边缘计算+AI 能力:高性能数据采集、多类型数据融合、AI 算法集成、云端业务对接。在边缘网关的基础上,集成了 IoT 平台的边缘协同能力、本地 Web SCADA 和 HMI 功能、本地数据存储、边缘 AI 视频分析、行业应用集成等。
2022 年,公司推出 “YiCLOUD |亿琪云”一站式物联网应用解决方案。公司的业务涵盖了智慧城市、智慧农业、智能工厂和智慧园区等多个领域,公司软硬件产品和解决方案获得华为技术认证,得到中国移动 OCP 认证,公司还是边缘计算产业联盟 ECC 成员。
"联系我们--商业服务"
- 网站:http://yiqisoft.cn
- 邮件:support@yiqisoft.cn
- 电话:021-68863086
- 手机:186-1666-9123