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目录。

相关推荐
tuokuac5 小时前
docker中nginx配置报错解决
linux·运维·服务器
Joren的学习记录6 小时前
【Linux运维大神系列】docker详解(四)
linux·运维·docker
Elastic 中国社区官方博客7 小时前
让我们把这个 expense 工具从 n8n 迁移到 Elastic One Workflow
大数据·运维·elasticsearch·搜索引擎·ai·信息可视化·全文检索
( •̀∀•́ )9208 小时前
GitHub Actions SSH 部署密钥
运维·ssh·github
louqle8 小时前
docker基本知识及常用命令汇总
运维·docker·容器
学烹饪的小胡桃8 小时前
【运维学习】实时性能监控工具 WGCLOUD v3.6.2 更新介绍
linux·运维·服务器·学习·工单系统
叫致寒吧9 小时前
Docker
运维·docker·容器
杨浦老苏9 小时前
现代流媒体聚合播放器冬瓜TV MAX
docker·群晖·多媒体
白露与泡影9 小时前
使用systemd,把服务装进 Linux 心脏里~
linux·运维·python
l1t10 小时前
用docker安装oracle 19c
运维·数据库·docker·oracle·容器