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

相关推荐
写代码的学渣3 分钟前
Ubuntu/麒麟默认锁定root账户
linux·运维·ubuntu
TH_132 分钟前
腾讯云-(10)-宝塔面板-Docker下安装Elasticsearch
elasticsearch·docker·容器
刚哥的进化路1 小时前
Linux系统日志管理完全教程:从基础查看 to 集中分析(附实战命令)
运维·自动化运维
互联网小顽童1 小时前
Linux系统进阶管理教程:从基础操作到企业级运维(附实战命令)
运维·自动化运维
面对疾风叭!哈撒给2 小时前
Docker之 Portainer、Node-RED和EMQX安装与配置
运维·docker·容器
RisunJan2 小时前
Linux命令-exportfs命令(管理NFS服务器上共享文件系统)
linux·运维·服务器
kbirdg2 小时前
告别卡顿!内网服务器如何“优雅”地搬运 Docker 镜像?除了 docker save,你该试试这几招
docker
小吃饱了2 小时前
docker制作镜像
运维·docker·容器
LSL666_2 小时前
云服务器安装Tomcat
运维·服务器·tomcat
若汝棋茗2 小时前
串口客户端背后的故事:TouchSocket SerialPortClient 探秘
运维·负载均衡