總覽

前往 GitHub 查看原始碼

OpenThread 邊界路由器 (OTBR) 提供 Docker 支援,且可在 Docker 容器中執行,而不是直接在本機電腦上執行。

本指南著重於在 Raspberry Pi (RPi) 或任何 Linux 機器上執行 OTBR Docker,並且只經過這些平台測試。

Raspberry Pi 設定

在 RPi 上安裝「Raspberry Pi OS with Desktop」OS。按照 Raspberry Pi 總覽中「下載並安裝 OS」步驟的說明進行操作,但務必使用 Raspberry Pi OS with Desktop 做為 OS。

安裝完成後,請啟動 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 .