先决条件
ThingsBoard 微服务在 dockerized 环境中运行。确保您的系统中安装了Docker CE和Docker Compose。
https://docs.docker.com/compose/install/
安装
参考官方安装步骤即可
https://docs.docker.com/engine/install/ubuntu/
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
步骤 1. 拉 ThingsBoard CE 图像
docker pull thingsboard/tb-node:3.2.2
docker pull thingsboard/tb-web-ui:3.2.2
docker pull thingsboard/tb-js-executor:3.2.2
docker pull thingsboard/tb-http-transport:3.2.2
docker pull thingsboard/tb-mqtt-transport:3.2.2
docker pull thingsboard/tb-coap-transport:3.2.2
最终:
步骤 2. 克隆 ThingsBoard CE 存储库
git clone https://github.com/thingsboard/thingsboard.git
cd thingsboard/docker
克隆成功
打开源码,检查以下配置
步骤 6. 运行
执行以下命令为服务创建日志文件夹并将这些文件夹的 chown 给 docker 容器用户。为了能够更改用户,使用chown命令,该命令需要 sudo 权限(脚本将请求密码以进行 sudo 访问):$ ./docker-create-log-folders.sh
执行以下命令运行安装:$ ./docker-install-tb.sh –loadDemo
到此:
最后,执行以下命令启动服务:$ ./docker-start-services.sh
中间出现了如下的选择
选择y继续,之后报错终止了。
ERROR: The image for the service you’re trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.
Continue with the new image? [yN]y
Pulling tb-snmp-transport (thingsboard/tb-snmp-transport:latest)…
ERROR: pull access denied for thingsboard/tb-snmp-transport, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied
ERROR: The image for the service you’re trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.
Continue with the new image? [yN]y
Pulling tb-lwm2m-transport (thingsboard/tb-lwm2m-transport:latest)…
ERROR: pull access denied for thingsboard/tb-lwm2m-transport, repository does not exist or may require ‘docker login’: denied: requested access to the resource is denied
尝试解决:注销掉snmp和lwm2m
再次执行 ** $ ./docker-start-services.sh **
果然有效果
然后高兴了30秒后,出现了另一个error,80端口占用的问题。。。。
解决了80端口占用之后(其实就是关闭了nginx服务器,之前安装了nginx)
再次运行
最终检查docker镜像
查看状态 docker-compose ps
如果出现任何问题,您可以检查服务日志中的错误。例如要查看 ThingsBoard 节点日志,请执行以下命令:**$ docker-compose logs -f tb-core1 tb-rule-engine1
或者docker-compose ps
用来查看所有容器的状态。使用docker-compose logs --f
检查所有正在运行的服务的日志。有关详细信息,请参阅docker-compose logs命令参考。
执行以下命令停止服务:
` $ ./docker-stop-services.sh **<br />**![image.png](https://cdn.nlark.com/yuque/0/2021/png/21753492/1624763781411-aa8257de-c3d2-4077-bffb-661db025ef12.png#align=left&display=inline&height=379&margin=%5Bobject%20Object%5D&name=image.png&originHeight=757&originWidth=984&size=255551&status=done&style=none&width=492)**<br />执行以下命令停止并完全删除已部署的 docker 容器:<br />**
$ ./docker-remove-services.sh **<br />执行以下命令来更新特定或所有服务(拉取更新的 docker 镜像并重建容器):<br />**
$ ./docker-update-service.sh**
默认运行再80端口下边。。。