Docker安装ThingsBoard

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

环境安装

开发环境要求:

  1. centos7 ;
  2. docker;

如为安装Centos7,参考教材:在MacOS上使用VMware虚拟机安装CentOS 7操作系统,并配置静态IP地址_macbook vmwaream安装centos7 自定义ip-CSDN博客

1、在虚拟机上安装docker

复制代码
yum install docker

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-cassandrathingsboard/tb

在启动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

注意

使用~/.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:9090)。 使用以下默认凭据:

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

分离、停止和启动

你可以使用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-postgresthingsboard/tb-cassandrathingsboard/tb

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

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

相关推荐
shushangyun_9 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉10 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦11 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
2601_9618752411 小时前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj11 小时前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵12 小时前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
難釋懷12 小时前
Nginx反向代理中的容错机制
运维·nginx
杨浦老苏12 小时前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主12 小时前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
志栋智能12 小时前
超自动化巡检:如何选择适合你的起点?
运维·自动化