Docker 环境配置
xrobot-org/Docker-Image 当前发布的 Docker 镜像和使用方式如下。
当前发布以下 7 种镜像:
docker-image-stm32docker-image-esp32docker-image-ch32-riscvdocker-image-linuxdocker-image-webotsdocker-image-mspm0docker-image-hpm
镜像内容
docker-image-stm32
- 基于
ubuntu:24.04 - 包含
arm-gnu-toolchain-14.2.rel1 - 包含
starm-clang - 当前镜像专门把
stm32cube-ide-core固定在1.1.0,因为更新后的包线已经不再提供 Linux 侧cubedownloader,直接跟随更新会使当前 STM32 镜像失去这部分能力
docker-image-mspm0
- 与
docker-image-stm32使用同一 Dockerfile,提供arm-none-eabiGNU Arm 工具链,用于 MSPM0 构建
docker-image-ch32-riscv
- 基于
ubuntu:24.04 - 当前已切换到 WCH GCC15 v240
- 编译器前缀为
riscv32-wch-elf- - 同时带有对应 OpenOCD
docker-image-hpm
- 基于
ubuntu:24.04 - 提供
riscv32-unknown-elfGNU 工具链(hpm-linux-gcc-release v0.1.0),安装在/opt/hpm-riscv32-unknown-elf,路径记录在环境变量XR_HPM_TOOLCHAIN_ROOT中
docker-image-esp32
- 基于
ubuntu:24.04 - 预装
ESP-IDF v5.4.1 - 目录位于
~/esp/esp-idf - 适合直接跑官方
idf.py工作流 - 镜像没有设置 IDF 环境变量,使用
idf.py前先执行. ~/esp/esp-idf/export.sh
docker-image-linux
- 基于
ubuntu:24.04 - 预装
clang / cmake / ninja / gcc / g++ / gdb - 预装
libwpa-client-dev / libnm-dev / libudev-dev / libgpiod-dev - 预装
pkg-config、libeigen3-dev和 OpenCV 4.13.0 - 适合直接作为 Linux 原生驱动和工具链环境
docker-image-webots
- 基于
ubuntu:24.04 - 预装 Webots R2025a、OpenVINO 2025.4 和 OpenCV 4.13.0
镜像与 BSP、模板
各仓库的 CI 使用以下镜像,本地构建这些仓库时可以使用同一镜像:
| 仓库 | 镜像 |
|---|---|
STM32 BSP(bsp-dev-c、bsp-dev-mc02、BSP-OpenCR-1.0、bsp_stm32f103),经共享工作流 bsp-stm32-ci.yml | docker-image-stm32 |
模块仓库,经共享工作流 module-ci.yml | docker-image-linux |
| bsp-linux-autoaim、bsp-webots-autoaim | docker-image-webots |
| CH32V203C8_LibXR_Template、CH32V307_LibXR_Template | docker-image-ch32-riscv |
| HPM5301_LibXR_Template | docker-image-hpm |
| MSPM0G3507_LibXR_Template | docker-image-mspm0 |
GHCR 拉取
当前以 GHCR 为准:
docker pull ghcr.io/xrobot-org/docker-image-stm32:maindocker pull ghcr.io/xrobot-org/docker-image-esp32:maindocker pull ghcr.io/xrobot-org/docker-image-ch32-riscv:maindocker pull ghcr.io/xrobot-org/docker-image-linux:maindocker pull ghcr.io/xrobot-org/docker-image-webots:maindocker pull ghcr.io/xrobot-org/docker-image-mspm0:maindocker pull ghcr.io/xrobot-org/docker-image-hpm:main
Docker Hub
同名镜像也发布在 Docker Hub(:latest):
docker pull xrimage/xrimage-stm32docker pull xrimage/xrimage-esp32docker pull xrimage/xrimage-ch32-riscvdocker pull xrimage/xrimage-linuxdocker pull xrimage/xrimage-webotsdocker pull xrimage/xrimage-mspm0docker pull xrimage/xrimage-hpm
运行 Docker 镜像
docker run -it --rm 镜像名
如果要把本地工程挂进去,直接显式挂载工作目录,例如:
docker run -it --rm -v "$PWD":/work -w /work ghcr.io/xrobot-org/docker-image-linux:main