Docker部署ThingsBoard

什么是Docker?

Docker是一个开源的容器化平台,可以轻松地将应用程序及其依赖项打包到一个可移植的容器中。这些容器可以在各种操作系统上运行,提供了一种方便、可靠的部署方式。

为什么要使用Docker?

使用Docker可以带来许多好处,包括:

  • 快速部署:Docker容器可以在几秒钟内启动和停止,大大加快了部署和测试的速度。
  • 隔离环境:每个容器都是独立的,可以在同一台机器上运行多个应用程序,互不干扰。
  • 可移植性:Docker容器可以在不同的环境中运行,无需担心环境变化导致应用程序无法正常工作。
  • 资源利用率高:Docker容器可以共享主机的操作系统内核,节省了硬件资源的使用。
  • 易于管理:Docker提供了一套强大的管理工具,可以轻松地管理和监控容器。

如何使用Docker部署ThingsBoard?

ThingsBoard是一个开源的物联网平台,可以帮助用户快速构建可扩展的物联网解决方案。使用Docker可以方便地部署和管理ThingsBoard。

以下是使用Docker部署ThingsBoard的步骤:

  1. 安装Docker

    首先需要在你的机器上安装Docker。具体的安装步骤可以参考[Docker官方文档](

  2. 拉取ThingsBoard Docker镜像

    使用以下命令从Docker Hub上拉取ThingsBoard的最新镜像:

    docker pull thingsboard/tb-postgres
    docker pull thingsboard/tb-cassandra
    docker pull thingsboard/tb-core
    
  3. 创建Docker网络

    使用以下命令创建一个Docker网络,以便容器之间可以相互通信:

    docker network create thingsboard
    
  4. 启动ThingsBoard容器

    接下来,使用以下命令启动ThingsBoard容器:

    docker run -d --name=postgres --restart=always --network=thingsboard -v /mydata/thingsboard/postgres:/var/lib/postgresql/data -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=thingsboard postgres:12
    docker run -d --name=cassandra --restart=always --network=thingsboard -v /mydata/thingsboard/cassandra:/var/lib/cassandra -e CASSANDRA_CLUSTER_NAME=Thingsboard -e CASSANDRA_DC=Thingsboard -e CASSANDRA_HINTED_HANDOFF_ENABLED=false cassandra:3.11.10
    docker run -d --name=tb --restart=always --network=thingsboard -p 8080:9090 -v /mydata/thingsboard/conf:/etc/thingsboard/conf -e DATABASE_ENTITIES_TYPE=sql -e DATABASE_TS_TYPE=cassandra -e SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect -e SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver -e SPRING_DATASOURCE_URL=jdbc:postgresql://postgres:5432/thingsboard -e SPRING_DATASOURCE_USERNAME=postgres -e SPRING_DATASOURCE_PASSWORD=postgres thingsboard/tb-core:2.5
    

    这些命令会启动一个PostgreSQL数据库容器、一个Cassandra数据库容器和一个ThingsBoard核心容器,并将它们连接到同一个网络中。你可以根据需要修改容器的名称、端口和数据目录。

  5. 访问ThingsBoard

    当容器启动完毕后,你可以通过浏览器访问ThingsBoard的Web界面,地址为http://localhost:8080。初始用户名为sysadmin@thingsboard.org,密码为sysadmin

    ThingsBoard登录界面

    登录后,你就可以开始使用ThingsBoard来管理和监控物联网设备了。

状态图

下面是一个使用mermaid语法标识的状态图示例:

stateDiagram
    [*] --> Idle
    Idle --> Running