概览

查看 GitHub 上的源代码

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

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

Raspberry Pi 设置

在 RPi 上安装桌面版本的 Raspberry Pi OS 操作系统。按照 Raspberry Pi 概览中下载并安装操作系统步骤中的说明进行操作,但请确保使用桌面专用的 Raspberry Pi OS 作为操作系统。

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

  1. 更新系统:

    sudo apt-get update
    sudo apt-get upgrade
    

  2. 安装 Docker:

    curl -sSL https://get.docker.com | sh
    
  3. 如果您想以非 root 身份使用 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. 如果您想以非 root 身份使用 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 映像

获取 OTBR Docker 映像,方法是直接从 OpenThread Docker Hub 拉取该映像,或者克隆 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 Border Router 代码库并构建包含的 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 .