docker文件夹 包含SHELL脚本、docker-Compose.yml配置文件,以微服务模式运行ThingsBoard。
一、环境基础
ThingsBoard微服务在docker中运行。在开始之前,请确保您的系统中安装了Docker CE和Docker Compose。
二、安装服务
在执行初始安装之前,您可以配置要与ThingsBoard一起使用的数据库类型。为了设置数据库类型,将文件中DATABASE变量的值更改.env为以下之一:
postgres- 使用PostgreSQL数据库;hybrid- 实体数据库使用PostgreSQL,时间序列数据库使用Cassandra;
注意:将根据数据库类型部署相应的 docker 服务(请参阅docker-compose.postgres.yml,docker-compose.hybrid.yml了解详细信息)。
执行以下命令为服务创建日志文件夹并将这些文件夹的 chown 给 docker 容器用户。为了能够更改用户,使用chown命令,该命令需要 sudo 权限(脚本将请求密码以进行 sudo 访问):
$ ./docker-create-log-folders.sh
执行以下命令运行安装:
$ ./docker-install-tb.sh --loadDemo
在哪里:
--loadDemo- 可选参数。是否加载额外的演示数据。
三、运行服务
执行以下命令启动服务:
$ ./docker-start-services.sh
一段时间后,所有服务都将成功启动,您可以http://{your-host-ip}在浏览器中打开(例如http://localhost)。您应该会看到 ThingsBoard 登录页面。
使用以下默认凭据:
- 系统管理员: sysadmin@thingsboard.org / sysadmin
如果您使用演示数据(使用--loadDemo标志)安装了数据库,您还可以使用以下凭据:
- 租户管理员:tenant@thingsboard.org /租户
- 客户用户:customer@thingsboard.org /客户
如果出现任何问题,您可以检查服务日志中的错误。例如要查看 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-compose logs命令参考。
执行以下命令停止服务:
$ ./docker-stop-services.sh
执行以下命令停止并完全删除已部署的 docker 容器:
$ ./docker-remove-services.sh
执行以下命令来更新特定或所有服务(拉取更新的 docker 镜像并重建容器):
$ ./docker-update-service.sh [SERVICE...]
在哪里:
[SERVICE...]- 要更新的服务列表(在 docker-compose 配置中定义)。如果未指定,所有服务都将被更新。
四、升级
如果需要升级数据库,请执行以下命令:
$ ./docker-stop-services.sh$ ./docker-upgrade-tb.sh --fromVersion=[FROM_VERSION]$ ./docker-start-services.sh
在哪里:
FROM_VERSION- 应该从哪个版本升级开始。有关有效值,请参阅升级说明fromVersion。
五、监控
如果要使用 Prometheus 和 Grafana 启用监控,则需要将MONITORING_ENABLED环境变量设置为true。在此之后,将部署 Prometheus 和 Grafana 容器。您可以通过访问 Prometheushttp://localhost:9090和 Grafana http://localhost:3000(默认登录名admin和密码foobar)。要更改 Grafana 密码,您需要更新文件中的GF_SECURITY_ADMIN_PASSWORD环境变量./monitoring/grafana/config.monitoring。仪表板从./monitoring/grafana/provisioning/dashboards目录加载。
如果要为 Prometheus 更新./monitoring/prometheus/prometheus.yml文件添加新的监控作业。
