概览

<ph type="x-smartling-placeholder"></ph> 在 GitHub 上查看源代码

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

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

Raspberry Pi 设置

安装带有 桌面设备 与 RPi 相关的操作系统请按照下载并安装 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 Toolbox。这是运行 OTBR 时的必要步骤 Docker 涉及装载虚拟串行端口,这只有 Docker 支持 这些系统上的工具箱。

获取 OTBR Docker 映像

直接从 OpenThread Docker 获取 OTBR 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 .