概览

在 GitHub 上查看源代码

OpenThread 边界路由器 (OTBR) 提供 Docker 支持,可以在 Docker 容器中运行,而不是直接在本地机器上运行。

本指南重点介绍如何在 Raspberry Pi (RPi) 或任何基于 Linux 的机器上运行 OTBR Docker,并且仅在这些平台上进行了测试。

Raspberry Pi 设置

在 RPi 上安装 Raspberry Pi OS with Desktop 操作系统。按照“Raspberry Pi 概览”中下载并安装操作系统步骤的说明进行操作,但务必使用适用于桌面设备的 Rasberry Pi OS 作为操作系统。您无法使用精简版,因为您需要在网络浏览器中访问 OTBR 网络 GUI。

安装后,启动 RPi 并打开一个终端窗口。

  1. 更新系统:

    sudo apt-get update
    sudo apt-get upgrade
    

  2. 安装 Docker:

    curl -sSL https://get.docker.com | sh
    
  3. 如果要将 Docker 用作非根用户,而无需在每条命令之前使用 sudo,请修改用户设置。退出以使更改生效:

    sudo usermod -aG docker $USER
    

  4. 如果 Docker 尚未运行,请将其启动:

    sudo dockerd
    

  5. 安装 git:

    sudo apt install git
    

  6. OTBR 防火墙脚本在 Docker 容器内创建规则。运行 modprobe 以加载 iptables 的内核模块:

    sudo modprobe ip6table_filter
    

Linux 设置

使用与 RPi 相同的说明:

  1. 更新系统:

    sudo apt-get update
    sudo apt-get upgrade
    

  2. 安装 Docker:

    curl -sSL https://get.docker.com | sh
    

  3. 如果要将 Docker 用作非根用户,而无需在每条命令之前使用 sudo,请修改用户设置。退出以使更改生效:

    sudo usermod -aG docker $USER
    

  4. 如果 Docker 尚未运行,请将其启动:

    sudo dockerd
    

  5. 安装 git:

    sudo apt install git
    

  6. OTBR 防火墙脚本在 Docker 容器内创建规则。运行 modprobe 以加载 iptables 的内核模块:

    sudo modprobe ip6table_filter
    

Mac 或 Windows

如需在 Mac 或 Windows 上使用 OTBR Docker,请安装 Docker 工具箱。这是必需的,因为运行 OTBR Docker 涉及装载虚拟串行端口,而这些系统只受 Docker 工具箱支持。

获取 OTBR Docker 映像

直接从 OpenThread Docker Hub 拉取 OTBR Docker 映像,或者克隆 OTBR 代码库并在本地构建包含的 Dockerfile。

我们建议从 Docker Hub 中拉取该映像,因为该映像已经过 OpenThread 团队的测试和验证。

从 Docker Hub 中拉取映像

此映像截至提交 ID e80def4

  1. 拉取映像:

    docker pull openthread/otbr:latest
    

  2. 现在它应该会显示在 Docker 映像列表中:

    docker images
    REPOSITORY           TAG          IMAGE ID           CREATED           SIZE
    openthread/otbr      latest       98416559dcbd       2 weeks ago       1.15GB
    

构建 Dockerfile

如需自行创建映像,请克隆 OpenThread 边界路由器代码库并构建包含的 Dockerfile。

  1. 克隆 OTBR 代码库:

    cd ~
    git clone https://github.com/openthread/ot-br-posix
    cd ot-br-posix
    

  2. 构建 Dockerfile:

    docker build --no-cache -t openthread/otbr -f etc/docker/Dockerfile .