先决条件

ThingsBoard 微服务在 dockerized 环境中运行。确保您的系统中安装了Docker CE和Docker Compose。
https://docs.docker.com/compose/install/
安装

  1. 参考官方安装步骤即可
  2. https://docs.docker.com/engine/install/ubuntu/
  3. 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
  4. sudo chmod +x /usr/local/bin/docker-compose


步骤 1. 拉 ThingsBoard CE 图像

  1. docker pull thingsboard/tb-node:3.2.2
  2. docker pull thingsboard/tb-web-ui:3.2.2
  3. docker pull thingsboard/tb-js-executor:3.2.2
  4. docker pull thingsboard/tb-http-transport:3.2.2
  5. docker pull thingsboard/tb-mqtt-transport:3.2.2
  6. docker pull thingsboard/tb-coap-transport:3.2.2

image.png
image.png
image.png
最终:
image.png

步骤 2. 克隆 ThingsBoard CE 存储库

  1. git clone https://github.com/thingsboard/thingsboard.git
  2. cd thingsboard/docker

克隆成功
image.png
打开源码,检查以下配置
image.png

不管其他先运行,报错了再说。。。。。。

步骤 6. 运行

执行以下命令为服务创建日志文件夹并将这些文件夹的 chown 给 docker 容器用户。为了能够更改用户,使用chown命令,该命令需要 sudo 权限(脚本将请求密码以进行 sudo 访问):
$ ./docker-create-log-folders.sh
image.png
执行以下命令运行安装:
$ ./docker-install-tb.sh –loadDemo
image.png
image.png
image.png
到此:
image.png

最后,执行以下命令启动服务:
$ ./docker-start-services.sh
image.png
中间出现了如下的选择
image.png
image.png
选择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
image.png
image.png
再次执行 ** $ ./docker-start-services.sh ** 果然有效果

image.png
然后高兴了30秒后,出现了另一个error,80端口占用的问题。。。。
image.png

解决了80端口占用之后(其实就是关闭了nginx服务器,之前安装了nginx)
再次运行
image.png
image.png

最终检查docker镜像
image.png

查看状态 docker-compose ps
image.png
image.png

如果出现任何问题,您可以检查服务日志中的错误。例如要查看 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端口下边。。。
image.png