- 升级 ThingsBoard Edge 前的准备
- Upgrading Edge CE to 3.6.4
- Upgrading Edge CE to 3.6.3
- Upgrading Edge CE to 3.6.2
- Upgrading Edge CE to 3.6.1
- Upgrading Edge CE to 3.6.0
升级 ThingsBoard Edge 前的准备
升级前请备份 ThingsBoard Edge 数据。
停止 Edge 容器
进入 docker-compose.yml 所在目录并停止容器:
1
docker compose stop
备份数据库卷
升级前,为数据库卷创建 备份副本:
1
docker run --rm -v tb-edge-postgres-data:/source -v tb-edge-postgres-data-backup:/backup busybox sh -c "cp -a /source/. /backup"
此操作将 tb-edge-postgres-data 的全部内容复制到 tb-edge-postgres-data-backup。
恢复备份(如需)
停止 ThingsBoard Edge 容器(若仍在运行):
1
docker compose stop
若要从备份卷恢复数据到主卷,执行以下命令:
1
docker run --rm -v tb-edge-postgres-data-backup:/source -v tb-edge-postgres-data:/target busybox sh -c "cp -a /source/. /target"
启动 ThingsBoard Edge 容器:
1
docker compose up -d
Upgrading Edge CE to 3.6.4
将终端切换到包含 “docker-compose.yml” 文件的目录,运行以下命令停止并移除当前运行的TB Edge容器(若仍在运行):
1
docker compose stop mytbedge
修改 ThingsBoard Edge 的主docker compose文件(docker-compose.yml)并更新镜像版本:
1
sed -i 's|thingsboard/tb-edge:3.6.3EDGE|thingsboard/tb-edge:3.6.4EDGE|' docker-compose.yml
要启动此docker compose,运行以下命令:
1
docker compose up -d && docker compose logs -f mytbedge
Upgrading Edge CE to 3.6.3
将终端切换到包含 “docker-compose.yml” 文件的目录,运行以下命令停止并移除当前运行的TB Edge容器(若仍在运行):
1
docker compose stop mytbedge
修改 ThingsBoard Edge 的主docker compose文件(docker-compose.yml)并更新镜像版本:
1
sed -i 's|thingsboard/tb-edge:3.6.2EDGE|thingsboard/tb-edge:3.6.3EDGE|' docker-compose.yml
要启动此docker compose,运行以下命令:
1
docker compose up -d && docker compose logs -f mytbedge
Upgrading Edge CE to 3.6.2
在包含”docker-compose.yml”文件的目录中打开终端,运行以下命令停止并删除当前运行的TB Edge容器(如果仍在运行):
1
docker compose stop && docker compose rm mytbedge -f
Migrating Data from Docker Bind Mount Folders to Docker Volumes
Starting with the 3.6.2EDGE release, the ThingsBoard team has moved from using Docker bind mount folders to Docker volumes. The goal of this change is to improve security and efficiency when storing data for Docker containers, and to mitigate permissions issues in different environments.
To migrate from Docker bind mounts to Docker volumes, please execute the following commands:
1
2
3
docker run --rm -v tb-edge-data:/volume -v ~/.mytb-edge-data:/backup busybox sh -c "cp -a /backup/. /volume"
docker run --rm -v tb-edge-logs:/volume -v ~/.mytb-edge-logs:/backup busybox sh -c "cp -a /backup/. /volume"
docker run --rm -v tb-edge-postgres-data:/volume -v ~/.mytb-edge-data/db:/backup busybox sh -c "cp -a /backup/. /volume"
After the data migration to the newly created Docker volumes is complete, you’ll need to update the volume mounts in your Docker Compose configuration. Modify the `docker-compose.yml’ file for ThingsBoard Edge to update the volume settings.
First, please update docker compose file版本。 Find the next snippet:
1
2
version: '3.0'
...
And replace it with:
1
version: '3.8'
Then update the volume mounts. Locate the following snippet:
1
2
3
4
volumes:
- ~/.mytb-edge-data:/data
- ~/.mytb-edge-logs:/var/log/tb-edge
...
And replace it with:
1
2
3
volumes:
- tb-edge-data:/data
- tb-edge-logs:/var/log/tb-edge
Apply a similar update to the PostgreSQL service. Locate the section:
1
2
3
volumes:
- ~/.mytb-edge-data/db:/var/lib/postgresql/data
...
And replace it with:
1
2
volumes:
- tb-edge-postgres-data:/var/lib/postgresql/data
Finally, add the following volume section to the end of the file:
1
2
3
4
5
6
7
volumes:
tb-edge-data:
name: tb-edge-data
tb-edge-logs:
name: tb-edge-logs
tb-edge-postgres-data:
name: tb-edge-postgres-data
Backup Database
Before upgrading, make a copy of the database volume:
1
docker run --rm -v tb-edge-postgres-data:/source -v tb-edge-postgres-data-backup:/backup busybox sh -c "cp -a /source/. /backup"
下一步创建用于ThingsBoard Edge升级过程的Docker Compose文件并运行升级。升级过程成功完成后,TB Edge升级容器会自动停止:
Modify the main docker compose file (docker-compose.yml) for ThingsBoard Edge and update the image version:
1
sed -i 's|thingsboard/tb-edge:3.6.1EDGE|thingsboard/tb-edge:3.6.2EDGE|' docker-compose.yml
To start this docker compose, run the following command:
1
docker compose up -d && docker compose logs -f mytbedge
Upgrading Edge CE to 3.6.1
执行以下命令拉取3.6.1EDGE镜像:
1
docker pull thingsboard/tb-edge:3.6.1EDGE
在包含”docker-compose.yml”文件的目录中打开终端,运行以下命令停止并删除当前运行的TB Edge容器(如果仍在运行):
1
docker compose stop && docker compose rm mytbedge -f
The next step creates a docker compose file for the ThingsBoard Edge upgrade process and runs the upgrade. Once the upgrade process is successfully completed, the TB Edge upgrade container is automatically stopped:
修改ThingsBoard Edge的主Docker Compose文件(docker-compose.yml)并更新镜像版本:
1
sed -i 's|thingsboard/tb-edge:3.6.0EDGE|thingsboard/tb-edge:3.6.1EDGE|' docker-compose.yml
要启动此Docker Compose,运行以下命令:
1
docker compose up -d && docker compose logs -f mytbedge
Upgrading Edge CE to 3.6.0
执行以下命令拉取3.6.0EDGE镜像:
1
docker pull thingsboard/tb-edge:3.6.0EDGE
在包含”docker-compose.yml”文件的目录中打开终端,运行以下命令停止并删除当前运行的TB Edge容器(如果仍在运行):
1
docker compose stop && docker compose rm mytbedge -f
下一步创建用于ThingsBoard Edge升级过程的Docker Compose文件并运行升级。升级过程成功完成后,TB Edge升级容器会自动停止:
修改ThingsBoard Edge的主Docker Compose文件(docker-compose.yml)并更新镜像版本:
1
sed -i 's|thingsboard/tb-edge:3.5.1.1EDGE|thingsboard/tb-edge:3.6.0EDGE|' docker-compose.yml
要启动此Docker Compose,运行以下命令:
1
docker compose up -d && docker compose logs -f mytbedge