Docker安装ThingsBoard

445 阅读3分钟
  • 前言

本章将介绍 ThingsBoard 的本地环境搭建,以及源码的编译安装。本机环境:centos7docker

ThingsBoard从入门到实战课程,深入透析底层原理,快速搭建自己的IOT平台

环境安装

开发环境要求:

  1. centos7
  2. docker

如为安装Centos7,参考教材:

在MacOS上使用VMware虚拟机安装CentOS 7操作系统

1、在虚拟机上安装docker

yum install docker

在启动Docker容器之前请运行以下命令以创建用于存储数据和日志的目录然后将其所有者更改为Docker容器用户,以便能够更改用户使用chown命令该命令需要sudo权限(该命令将要求sudo访问的密码):

mkdir -p ~/.mytb-data && sudo chown -R 799:799 ~/.mytb-data
mkdir -p ~/.mytb-logs && sudo chown -R 799:799 ~/.mytb-logs

2、创建docker-compose.yml 文件,并填入参数,保存

vi docker-compose.yml
version: '3.0'
services:
  mytb:
    restart: always
    image: "thingsboard/tb-postgres"
    ports:
      - "8080:9090"
      - "1883:1883"
      - "7070:7070"
      - "5683-5688:5683-5688/udp"
    environment:
      TB_QUEUE_TYPE: in-memory
    volumes:
      - ~/.mytb-data:/data
      - ~/.mytb-logs:/var/log/thingsboard

说明:

docker run - 运行容器

-it - 将终端会话与当前ThingsBoard进程输出连接

8080:9090 - 将本地端口8080转发至HTTP端口9090

1883:1883 - 将本地端口1883转发至MQTT端口1883

5683:5683 - 将本地端口5683转发至MQTT端口5683

/.mytb-data:/data - 将主机的目录~/.mytb-data挂载到ThingsBoard数据目录

/.mytb-logs:/var/log/thingsboard - 将主机的目录~/.mytb-logs挂载到ThingsBoard日志目录

mytb - 计算机本地名称

restart: always - 在系统重新启动的情况下自动启动ThingsBoard在出现故障的情况下自动重新启动ThingsBoard。

image: thingsboard/tb-postgres - docker镜像也可以是thingsboard/tb-cassandra或thingsboard/tb

注意

使用~/.mytb-data~/.mytb-logs目录替换目录docker-compose.yml文件中设置的目录

在包含该文件的目录终端中执行以下命令启动此docker compos:docker-compose.yml

docker-compose pull
docker-compose up -d
docker-compose logs -f mytb

执行完命令后你可以**http://{your-host-ip}:8080**在浏览器中打开 (例如http://localhost:8080) 。 使用以下默认凭据:

可以在帐户详情页面中更改每个帐户的密码。

image.png

分离、停止和启动

你可以使用Ctrl-p Ctrl-q与会话终端分离容器将继续在后台运行。

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

docker-compose logs -f mytb

停止容器:

docker-compose stop mytb

启动容器:

docker-compose start mytb

升级

为了更新到最新的镜像请执行以下命令:

docker pull thingsboard/tb-postgres
docker-compose stop
docker run -it -v ~/.mytb-data:/data --rm thingsboard/tb-postgres upgrade-tb.sh
docker-compose rm mytb
docker-compose up

注意: 如果你使用不同的数据库,则在所有命令中将映像名称从更改为thingsboard/tb-postgres 至 thingsboard/tb-cassandra 或 thingsboard/tb 。

注意: 将主机的目录替换为~/.mytb-data容器创建期间使用的目录。

注意:如果你使用了一个数据库并想尝试另一个数据库则使用docker-compose rm命令删除当前的docker容器,并在docker-compose.yml中修改成~/.mytb-data目录。