文章目录
- 一、概述
- 1.官方文档
- 2.部署说明
- 3.安装准备
- 3.1. 克隆服务器
- 3.2.安装 Docker
- 3.3.安装 docker-compose
- 3.4.安装 PostgreSQL
- 3.5.创建 Edge 实例
- 二、Docker Compose 方式部署
- 1.创建 docker-compose.yml
- 2.运行容器
- 3.访问 Edge
- 三、Docker 直接部署
- 1.创建数据库
- 2.运行容器
- 3.访问 Edge
- ThingsBoard
# ThingsBoardhttps://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/tb-edge/edge-deploy-docker/
一、概述
1.官方文档
# ThingsBoard Edge安装
https://thingsboard.io/docs/user-guide/install/edge/installation-options/# 使用 Docker 安装(Linux 或 Mac OS)
https://thingsboard.io/docs/user-guide/install/edge/docker/
2.部署说明
部署环境:
- 操作系统:CentOS 7.8
- 软件版本:3.5.1
- 数据库:PostgreSQL 12
部署方式:
- Docker Compose 方式部署
- Docker 直接部署
3.安装准备
3.1. 克隆服务器
# 克隆机器# 修改IP地址
cd /etc/sysconfig/network-scripts
vim ifcfg-ens33
192.168.202.166# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld# 设置主机名
hostnamectl set-hostname tb-edge
3.2.安装 Docker
安装版本19.03.*
$ yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo$ yum -y install docker-ce$ systemctl enable docker && systemctl start docker$ docker --version
- 添加阿里云加速镜像
# 添加阿里云加速镜像cat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://gcctk8ld.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=cgroupfs"]
}
EOF
- 重启docker
#重启docker
systemctl restart docker
3.3.安装 docker-compose
安装 docker-compose
#下载源码
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose#给docker-compose添加执行权限
sudo chmod +x /usr/local/bin/docker-compose#查看docker-compose是否安装成功
docker-compose version
docker-compose 基本操作
# 安装并启动EdgeX
sudo docker-compose up -d # -d 后台运行容器# 查看所有容器运行状况
sudo docker-compose ps# 显示容器日志
docker-compose logs -f [compose-contatainer-name]# 停止容器
sudo docker-compose stop# 启动容器
sudo docker-compose start# 停止和删除所有容器
sudo docker-compose down# 常用命令:
启动:docker-compose up -d 注意这里需要在yml配置文件路径执行,其他路径执行需要-f指定配置文件地址。
查看日志:docker-compose logs -f ${compose-contatainer-name}
停止:docker-compose stop
停止并删除容器:docker-compose down
其他命令帮助:docker-compose --help
3.4.安装 PostgreSQL
1.创建目录
# mkdir -p /pg/data/psql2.运行容器
docker run -d --network host --name pg12 --restart=always \
-e LANG="C.UTF-8" \
-e 'TZ=Asia/Shanghai' \
-e "POSTGRES_DB=postgres" \
-e "POSTGRES_USER=postgres" \
-e "POSTGRES_PASSWORD=postgres" \
-v /pg/data/psql:/var/lib/postgresql/data \
postgres:123.进入容器
# docker exec -it pg12 /bin/sh切换用户
# su - postgres
$ psql
# \lCREATE DATABASE tb_edge;
\q
退出: \q
列出所有库 \l
列出所有用户 \du
列出库下所有表\d
# 访问地址192.168.202.166
5432
postgres/postgres
3.5.创建 Edge 实例
在 ThingsBoard 服务端上配置 Edge
# ThingsBoard 服务器地址
82.157.166.86# 边缘键
672b5ad6-cf07-c8af-e7cf-ac8a85114902# 边缘密钥
tuhk87tqb4l1463revxf
二、Docker Compose 方式部署
1.创建 docker-compose.yml
1.创建数据和日志文件夹
mkdir -p ~/.mytb-edge-data && sudo chown -R 799:799 ~/.mytb-edge-data
mkdir -p ~/.mytb-edge-logs && sudo chown -R 799:799 ~/.mytb-edge-logs
2.docker-compose.yml
version: '3.0'
services:mytbedge:restart: alwaysimage: "thingsboard/tb-edge:3.5.1EDGE"ports:- "8080:8080"- "1883:1883"- "5683-5688:5683-5688/udp"environment:SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/tb-edgeCLOUD_ROUTING_KEY: 672b5ad6-cf07-c8af-e7cf-ac8a85114902CLOUD_ROUTING_SECRET: tuhk87tqb4l1463revxfCLOUD_RPC_HOST: 82.157.166.86CLOUD_RPC_PORT: 7070CLOUD_RPC_SSL_ENABLED: falsevolumes:- ~/.mytb-edge-data:/data- ~/.mytb-edge-logs:/var/log/tb-edgepostgres:restart: alwaysimage: "postgres:12"ports:- "5432"environment:POSTGRES_DB: tb-edgePOSTGRES_PASSWORD: postgresvolumes:- ~/.mytb-edge-data/db:/var/lib/postgresql/data
2.运行容器
docker compose up -d
docker compose logs -f mytbedge
3.访问 Edge
http://192.168.202.166:8080/login
tenant@thingsboard.org
tenant
三、Docker 直接部署
1.创建数据库
2.运行容器
1.创建数据和日志文件夹
mkdir -p ~/.mytb-edge-data && sudo chown -R 799:799 ~/.mytb-edge-data
mkdir -p ~/.mytb-edge-logs && sudo chown -R 799:799 ~/.mytb-edge-logs
2.运行容器
docker run -d --network host --name tb-edge --restart=always \
-e "SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.202.166:5432/tb-edge" \
-e "SPRING_DATASOURCE_USERNAME=postgres" \
-e "SPRING_DATASOURCE_PASSWORD=postgres" \
-e "CLOUD_ROUTING_KEY=672b5ad6-cf07-c8af-e7cf-ac8a85114902" \
-e "CLOUD_ROUTING_SECRET=tuhk87tqb4l1463revxf" \
-e "CLOUD_RPC_HOST=82.157.166.86" \
-e "CLOUD_RPC_PORT=7070" \
-e "CLOUD_RPC_SSL_ENABLED=false" \
-v ~/.mytb-edge-data:/data \
-v ~/.mytb-edge-logs:/var/log/tb-edge \
thingsboard/tb-edge:3.5.1EDGE
3.访问 Edge
http://192.168.202.166:8080/login
tenant@thingsboard.org
tenant
- ThingsBoard
# ThingsBoardhttps://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/tb-edge/edge-deploy-docker/