产品定价 立即试用
边缘
入门 文档
架构 API 常见问题
目录

ThingsBoard Edge CE v3.6.x Docker升级说明

升级 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

文档警告图标

更新ThingsBoard Edge前,请确保 ThingsBoard Server 已更新至最新版本

若Server版本过旧,请先升级

以下说明适用于 ThingsBoard Edge 3.6.3EDGE 版本。

文档信息图标

以下步骤适用于Edge 3.6.3EDGE 版本。

将终端切换到包含 “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
文档警告图标

若从 ** 升级,必须运行以下脚本。若从 ** 版本升级, 请勿运行升级脚本,直接启动Edge服务即可。

要启动此docker compose,运行以下命令:

1
docker compose up -d && docker compose logs -f mytbedge

Upgrading Edge CE to 3.6.3

文档警告图标

更新ThingsBoard Edge前,请确保 ThingsBoard Server 已更新至最新版本

若Server版本过旧,请先升级

以下说明适用于 ThingsBoard Edge 3.6.2EDGE 版本。

文档信息图标

以下步骤适用于Edge 3.6.2EDGE 版本。

将终端切换到包含 “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
文档警告图标

若从 ** 升级,必须运行以下脚本。若从 ** 版本升级, 请勿运行升级脚本,直接启动Edge服务即可。

要启动此docker compose,运行以下命令:

1
docker compose up -d && docker compose logs -f mytbedge

Upgrading Edge CE to 3.6.2

文档警告图标

更新ThingsBoard Edge前,请确保 ThingsBoard Server 已更新至最新版本

若Server版本过旧,请先升级

以下说明适用于 ThingsBoard Edge 3.6.1EDGE 版本。

文档信息图标

这些步骤适用于Edge 3.6.1EDGE版本。

在包含”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升级容器会自动停止:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cat > docker-compose-upgrade.yml <<EOF && docker compose -f docker-compose-upgrade.yml up --abort-on-container-exit
version: '3.8'
services:
  mytbedge:
    restart: on-failure
    image: "thingsboard/tb-edge:3.6.2EDGE"
    environment:
      SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/tb-edge
    volumes:
      - tb-edge-data:/data
      - tb-edge-logs:/var/log/tb-edge
    entrypoint: upgrade-tb-edge.sh
  postgres:
    restart: always
    image: "postgres:15"
    ports:
      - "5432"
    environment:
      POSTGRES_DB: tb-edge
      POSTGRES_PASSWORD: postgres
    volumes:
      - tb-edge-postgres-data:/var/lib/postgresql/data

volumes:
  tb-edge-data:
    name: tb-edge-data
  tb-edge-logs:
    name: tb-edge-logs
  tb-edge-postgres-data:
    name: tb-edge-postgres-data
EOF

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

文档警告图标

更新ThingsBoard Edge前,请确保 ThingsBoard Server 已更新至最新版本

若Server版本过旧,请先升级

以下说明适用于 ThingsBoard Edge 3.6.0EDGE 版本。

文档信息图标

这些步骤适用于Edge 3.6.0EDGE版本。

执行以下命令拉取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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cat > docker-compose-upgrade.yml <<EOF && docker compose -f docker-compose-upgrade.yml up --abort-on-container-exit
version: '3.0'
services:
  mytbedge:
    restart: on-failure
    image: "thingsboard/tb-edge:3.6.1EDGE"
    environment:
      SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/tb-edge
    volumes:
      - ~/.mytb-edge-data:/data
      - ~/.mytb-edge-logs:/var/log/tb-edge
    entrypoint: upgrade-tb-edge.sh
  postgres:
    restart: always
    image: "postgres:15"
    ports:
      - "5432"
    environment:
      POSTGRES_DB: tb-edge
      POSTGRES_PASSWORD: postgres
    volumes:
      - ~/.mytb-edge-data/db:/var/lib/postgresql/data
EOF

修改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

文档警告图标

更新ThingsBoard Edge前,请确保 ThingsBoard Server 已更新至最新版本

若Server版本过旧,请先升级

以下说明适用于 ThingsBoard Edge 3.5.1.1EDGE 版本。

文档信息图标

这些步骤适用于Edge 3.5.1.1EDGE版本。

执行以下命令拉取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升级容器会自动停止:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cat > docker-compose-upgrade.yml <<EOF && docker compose -f docker-compose-upgrade.yml up --abort-on-container-exit
version: '3.0'
services:
  mytbedge:
    restart: on-failure
    image: "thingsboard/tb-edge:3.6.0EDGE"
    environment:
      SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/tb-edge
    volumes:
      - ~/.mytb-edge-data:/data
      - ~/.mytb-edge-logs:/var/log/tb-edge
    entrypoint: upgrade-tb-edge.sh
  postgres:
    restart: always
    image: "postgres:15"
    ports:
      - "5432"
    environment:
      POSTGRES_DB: tb-edge
      POSTGRES_PASSWORD: postgres
    volumes:
      - ~/.mytb-edge-data/db:/var/lib/postgresql/data
EOF

修改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