ภาพรวม

ดูซอร์สโค้ดใน GitHub

OpenThread Border Router (OTBR) รองรับ Docker และสามารถทำงานในคอนเทนเนอร์ Docker แทนที่จะทำงานในเครื่องโดยตรง

คู่มือนี้มุ่งเน้นที่การเรียกใช้ OTBR Docker ใน Raspberry Pi (RPi)

การตั้งค่า Raspberry Pi

ติดตั้ง Raspberry Pi OS พร้อมระบบปฏิบัติการ Desktop ใน RPi ทั้งเวอร์ชันเดสก์ท็อปและ Lite ใช้ได้

เมื่อติดตั้งแล้ว ให้บูต 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. เปิดใช้การส่งต่อ IP

    โดยปกติแล้ว Linux จะปิดใช้การส่งต่อ IP โดยค่าเริ่มต้น เรียกใช้สคริปต์ setup-host เพื่อเปิดใช้การส่งต่อ IP ในระบบโฮสต์

    curl -sSL https://raw.githubusercontent.com/openthread/ot-br-posix/refs/heads/main/etc/docker/border-router/setup-host | bash
    

รับอิมเมจ Docker ของ OTBR

รับอิมเมจ Docker ของ OTBR โดยการดึงจาก OpenThread Docker Repo โดยตรง หรือโดยการโคลนที่เก็บ OTBR และสร้าง Dockerfile ที่รวมอยู่ในพื้นที่

เราขอแนะนำให้ดึงภาพจาก Docker Hub เนื่องจากทีม OpenThread ได้ทดสอบและยืนยันแล้ว

ดึงข้อมูลอิมเมจจาก Docker Hub

  1. วิธีดึงรูปภาพ

    docker pull openthread/border-router:latest
    

  2. ตอนนี้รูปภาพควรปรากฏในรายการอิมเมจ Docker

    docker images
    REPOSITORY                 TAG       IMAGE ID       CREATED       SIZE
    openthread/border-router   latest    08666d77013d   2 hours ago   171MB
    

สร้าง Dockerfile

หากต้องการสร้างอิมเมจด้วยตนเอง ให้โคลนที่เก็บ OpenThread Border Router และสร้าง Dockerfile ที่รวมอยู่

  1. ติดตั้ง git

    sudo apt install git
    

  2. โคลนที่เก็บ OTBR

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

  3. สร้าง Dockerfile โดยทำดังนี้

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