最近在做工业互联网项目接触到了ThingsBoard,这里记录下
第一步:win10安装wsl2
第二步:安装docker desktop,下载后直接安装即可。
第三步:拉取ThingsBoard官方镜像
打开powershell运行如下命令,等待命令执行完毕
docker pull thingsboard/tb-postgres
第四步:使用Docker Compose部署容器
新建一个文件夹,比如我在D盘根目录下新建“thingsboard”目录,然后在这个目录下创建文件 “docker-compose.yml”,文件内容如下:
version: '2.2'
services:
mytb:
restart: always
image: "thingsboard/tb-postgres"
ports:
# 映射80端口,这样在win10浏览器可用http://localhost直接访问thingsboard
- "80:9090"
- "1883:1883"
- "5683:5683/udp"
# 映射postgres端口到win10,便于用pgadmin管理数据库
- "5432:5432"
environment:
# 使用内存进行消息处理
TB_QUEUE_TYPE: in-memory
volumes:
# 将postgres的数据目录映射到win10的本地目录d:\thinsboard\data
- /D/thinsboard/data:/data
# 将thingsboard日志目录映射到win10的本地目录d:\thinsboard\log
- /D/thinsboard/log:/var/log/thingsboard
在d:\thingsboard新建上面文件用到的 data 和 log目录。然后在d:\thingsboard下打开powershell,依次运行下面两条命令
docker-compose pull
docker-compose up
等待窗口没有输出了,然后用浏览器访问http://localhost 看到thingsboard的界面即代表部署好了,提醒下这个是免费的社区版,功能没有收费的专业版多,比如只支持mqtt和coap,像modbus/opcua等都不支持,具体可去官网查询。
第五步:配置pgadmin访问postgresql
1、通过下图的红圈处进入容器bash
2、输入psql
3、连接postgres数据库
\c postgres
4、创建用于远程连接的超级用户root,密码也是root
CREATE ROLE root superuser PASSWORD 'root' login;
5、修改postgres配置文件,因为在第四步已将postgres的data目录映射到win10本地目录,因为我们可以直接用记事本或其它win10的编辑器编辑。
首先编辑D:\thinsboard\data\db\postgresql.conf
将 listen_addresses = 'localhost' 改成 listen_addresses = '*'
然后编辑D:\thinsboard\data\db\pg_hba.conf 增加下面内容
host all all 0.0.0.0/0 password
6、在docker desktop中停止再启动容器
7、用pgadmin访问容器中的postgres