docker文件夹 包含SHELL脚本、docker-Compose.yml配置文件,以微服务模式运行ThingsBoard

一、环境基础

ThingsBoard微服务在docker中运行。在开始之前,请确保您的系统中安装了Docker CEDocker Compose

二、安装服务

在执行初始安装之前,您可以配置要与ThingsBoard一起使用的数据库类型。为了设置数据库类型,将文件中DATABASE变量的值更改.env为以下之一:

  • postgres - 使用 PostgreSQL 数据库;
  • hybrid - 实体数据库使用 PostgreSQL,时间序列数据库使用 Cassandra

注意:将根据数据库类型部署相应的 docker 服务(请参阅docker-compose.postgres.ymldocker-compose.hybrid.yml了解详细信息)。

执行以下命令为服务创建日志文件夹并将这些文件夹的 chown 给 docker 容器用户。为了能够更改用户,使用chown命令,该命令需要 sudo 权限(脚本将请求密码以进行 sudo 访问):

  1. $ ./docker-create-log-folders.sh

执行以下命令运行安装:

  1. $ ./docker-install-tb.sh --loadDemo

在哪里:

  • --loadDemo- 可选参数。是否加载额外的演示数据。

三、运行服务

执行以下命令启动服务:

  1. $ ./docker-start-services.sh

一段时间后,所有服务都将成功启动,您可以http://{your-host-ip}在浏览器中打开(例如http://localhost)。您应该会看到 ThingsBoard 登录页面。

使用以下默认凭据:

如果您使用演示数据(使用--loadDemo标志)安装了数据库,您还可以使用以下凭据:

如果出现任何问题,您可以检查服务日志中的错误。例如要查看 ThingsBoard 节点日志,请执行以下命令:

  1. $ 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命令参考。

执行以下命令停止服务:

  1. $ ./docker-stop-services.sh

执行以下命令停止并完全删除已部署的 docker 容器:

  1. $ ./docker-remove-services.sh

执行以下命令来更新特定或所有服务(拉取更新的 docker 镜像并重建容器):

  1. $ ./docker-update-service.sh [SERVICE...]

在哪里:

  • [SERVICE...]- 要更新的服务列表(在 docker-compose 配置中定义)。如果未指定,所有服务都将被更新。

四、升级

如果需要升级数据库,请执行以下命令:

  1. $ ./docker-stop-services.sh
  2. $ ./docker-upgrade-tb.sh --fromVersion=[FROM_VERSION]
  3. $ ./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文件添加新的监控作业。