轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
arm64v8/ros
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

ros Docker 镜像下载 - 轩辕镜像

ros 镜像详细信息和使用指南

ros 镜像标签列表和版本信息

ros 镜像拉取命令和加速下载

ros 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

ros
arm64v8/ros

ros 镜像详细信息

ros 镜像标签列表

ros 镜像使用说明

ros 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

机器人操作系统(ROS)是一个致力于简化机器人应用开发流程的开源项目,它通过提供丰富的工具、库和标准化约定,支持开发者高效构建从感知、规划到控制的各类机器人功能模块,兼容多种硬件平台并促进跨团队协作,广泛应用于科研探索、工业自动化、教育实践等领域,为全球机器人开发者社区提供了灵活且强大的技术框架。
30 收藏0 次下载activearm64v8镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

ros 镜像详细说明

ros 使用指南

ros 配置说明

ros 官方文档

ROS 官方镜像 arm64v8 架构仓库说明

说明

本仓库是 ROS 官方镜像 的 arm64v8 架构专用构建仓库。关于非 amd64 架构的更多信息,可参考官方镜像文档中的 “除 amd64 外的架构?” 章节;若需了解镜像源码变更相关内容,参见官方镜像 FAQ 的 “Git 中的镜像源码已变更,该如何处理?”。

快速参考

维护方

开源机器人基金会(Open Source Robotics Foundation)

求助渠道

Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow

支持的标签及对应 Dockerfile 链接

  • humble-ros-core, humble-ros-core-jammy
  • humble-ros-base, humble-ros-base-jammy, humble
  • humble-perception, humble-perception-jammy
  • jazzy-ros-core, jazzy-ros-core-noble
  • jazzy-ros-base, jazzy-ros-base-noble, jazzy, latest
  • jazzy-perception, jazzy-perception-noble
  • kilted-ros-core, kilted-ros-core-noble
  • kilted-ros-base, kilted-ros-base-noble, kilted
  • kilted-perception, kilted-perception-noble
  • rolling-ros-core, rolling-ros-core-noble
  • rolling-ros-base, rolling-ros-base-noble, rolling
  • rolling-perception, rolling-perception-noble

快速参考(续)

问题反馈渠道

[***]

支持的架构

(更多信息)
amd64、arm64v8

镜像制品详情

repo-info 仓库的 repos/ros/ 目录(历史记录)
(包含镜像元数据、传输大小等)

镜像更新

official-images 仓库的 library/ros 标签
official-images 仓库的 library/ros 文件(历史记录)

本文档源码

docs 仓库的 ros/ 目录(历史记录)

什么是 ROS?

机器人操作系统(ROS)是一套用于构建机器人应用的软件库和工具集,涵盖从驱动程序到前沿算法,配合强大的开发工具,为各类机器人项目提供所需功能。ROS 完全开源。

参考:***.org/wiki/Robot_Operating_System

ROS 标志

如何使用本镜像

通过 Dockerfile 安装 ROS 包

如需创建自定义 ROS 镜像并安装特定包,以下示例展示了如何通过 apt-get 安装官方发布的 Debian 包(以 C++ 和 Python 客户端库示例包为例):

FROM arm64v8/ros:rolling-ros-core as aptgetter

# 安装 ROS 包
RUN apt-get update && apt-get install -y \
      ros-${ROS_DISTRO}-demo-nodes-cpp \
      ros-${ROS_DISTRO}-demo-nodes-py && \
    rm -rf /var/lib/apt/lists/*

# 启动 ROS 包
CMD ["ros2", "launch", "demo_nodes_cpp", "talker_listener_launch.py"]

说明:所有 ROS 镜像均包含默认入口点(entrypoint),会在执行命令前自动加载 ROS 环境配置。上述示例中,入口点会先加载环境,再执行示例包的启动文件。

构建并运行镜像的命令如下:

$ docker build -t my/ros:aptgetter .
$ docker run -it --rm my/ros:aptgetter
[INFO] [launch]: process[talker-1]: started with pid [813]
[INFO] [launch]: process[listener-2]: started with pid [814]
[INFO] [talker]: Publishing: 'Hello World: 1'
[INFO] [listener]: I heard: [Hello World: 1]
[INFO] [talker]: Publishing: 'Hello World: 2'
[INFO] [listener]: I heard: [Hello World: 2]
...

通过 Dockerfile 构建 ROS 包

如需从源码构建自定义 ROS 包并生成镜像,以下示例展示了多阶段构建流程:安装构建依赖、编译源码、将产物复制到最终运行镜像,以减小镜像体积。

ARG FROM_IMAGE=arm64v8/ros:rolling
ARG OVERLAY_WS=/opt/ros/overlay_ws

# 阶段 1:缓存依赖信息
FROM $FROM_IMAGE AS cacher
ARG OVERLAY_WS

# 更新 apt 和 ROS 索引,持久化缓存配置
RUN rosdep update --rosdistro $ROS_DISTRO && \
    cat <<EOF > /etc/apt/apt.conf.d/docker-clean && apt-get update
APT::Install-Recommends "false";
APT::Install-Suggests "false";
EOF

# 克隆示例源码到工作空间
WORKDIR $OVERLAY_WS/src
RUN cat <<EOF | vcs import .
repositories:
  ros2/demos:
    type: git
    url: [***]    version: ${ROS_DISTRO}
EOF

# 提取构建和运行依赖
RUN bash -e <<'EOF'
declare -A types=(
  [exec]="--dependency-types=exec"
  [build]="")
for type in "${!types[@]}"; do
  rosdep install -y \
    --from-paths \
      ros2/demos/demo_nodes_cpp \
      ros2/demos/demo_nodes_py \
    --ignore-src \
    --reinstall \
    --simulate \
    ${types[$type]} \
    | grep 'apt-get install' \
    | awk '{gsub(/'\''/,"",$4); print $4}' \
    | sort -u > /tmp/${type}_debs.txt
done
EOF

# 阶段 2:构建源码
FROM $FROM_IMAGE AS builder
ARG OVERLAY_WS

# 安装构建依赖
COPY --from=cacher /tmp/build_debs.txt /tmp/build_debs.txt
RUN --mount=type=cache,target=/etc/apt/apt.conf.d,from=cacher,source=/etc/apt/apt.conf.d \
    --mount=type=cache,target=/var/lib/apt/lists,from=cacher,source=/var/lib/apt/lists \
    --mount=type=cache,target=/var/cache/apt,sharing=locked \
    < /tmp/build_debs.txt xargs apt-get install -y

# 编译源码
WORKDIR $OVERLAY_WS
COPY --from=cacher $OVERLAY_WS/src ./src
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
    colcon build \
      --packages-select \
        demo_nodes_cpp \
        demo_nodes_py \
      --mixin release

# 阶段 3:生成运行镜像
FROM $FROM_IMAGE-ros-core AS runner
ARG OVERLAY_WS

# 安装运行依赖
COPY --from=cacher /tmp/exec_debs.txt /tmp/exec_debs.txt
RUN --mount=type=cache,target=/etc/apt/apt.conf.d,from=cacher,source=/etc/apt/apt.conf.d \
    --mount=type=cache,target=/var/lib/apt/lists,from=cacher,source=/var/lib/apt/lists \
    --mount=type=cache,target=/var/cache/apt,sharing=locked \
    < /tmp/exec_debs.txt xargs apt-get install -y

# 复制编译产物并配置环境
ENV OVERLAY_WS=$OVERLAY_WS
COPY --from=builder $OVERLAY_WS/install $OVERLAY_WS/install
RUN sed --in-place --expression \
      '$isource "$OVERLAY_WS/install/setup.bash"' \
      /ros_entrypoint.sh

# 启动示例
CMD ["ros2", "launch", "demo_nodes_cpp", "talker_listener_launch.py"]

优化说明:

  • 多阶段构建:分离依赖提取、编译、运行阶段,减少最终镜像体积;
  • 缓存持久化:通过 --mount 复用缓存数据,避免重复网络请求;
  • 最小化镜像:基于 ros-core 构建最终镜像,仅复制必要的编译产物。

构建后镜像体积对比(示例):

$ docker image ls my/ros --format "table {{.Tag}}\t{{.Size}}"
TAG                SIZE
aptgetter          504MB  # 通过 apt 安装的镜像
runner             510MB  # 多阶段构建的运行镜像
builder            941MB  # 编译阶段临时镜像
$ docker image ls ros --format "table {{.Tag}}\t{{.Size}}"
TAG                SIZE
rolling-ros-core   489MB  # 基础 ros-core 镜像
rolling            876MB  # 完整 ros 镜像

部署场景

本镜像基于 官方 Ubuntu 镜像 和 ROS 官方 Debian 包构建,提供稳定的机器人应用开发/部署平台。适用于科研和工业场景,简化自主控制、任务规划、定位导航、群体行为等复杂系统的开发、复用和交付流程。

容器化技术解决了 ROS 软件的可重复性和跨平台部署难题,帮助中小团队降低协作成本,专注于算法创新而非环境配置。

部署建议

镜像标签选择

  • ros-core:最小化 ROS 安装(仅含核心组件);
  • ros-base:包含基础工具和库(通常以发行版名称为标签,LTS 版本标记为 latest)。

注意:ros-core 不含 rosdep、colcon 等开发工具,需使用 ros-base 获取完整开发环境。图形化相关的 desktop 等元包可在 OSRF 的 Docker Hub 仓库 获取。

数据持久化

ROS 日志等数据默认存储在 ~/.ros/ 目录。如需持久化,可将该目录挂载到主机卷:

$ docker run -v "/home/ubuntu/.ros/:/root/.ros/" arm64v8/ros

设备访问

如需访问相机、输入设备或 GPU,可通过 --device 参数挂载设备:

$ docker run --device /dev/video0:/dev/video0 arm64v8/ros  # 挂载摄像头

网络配置

ROS 支持分布式通信,建议通过 Docker 网络连接多个容器。如需简化外部通信,可使用 host 网络模式(注意:此模式会移除容器网络隔离,可能影响 DDS 通信,详情参见 相关文档)。

部署示例:Docker Compose

以下示例通过 docker compose 启动两个容器(发布者和订阅者),演示跨容器 ROS 通信。

步骤 1:准备文件

创建目录 ~/ros_demos,放入前文“通过 Dockerfile 安装 ROS 包”中的 Dockerfile,并新建 compose.yaml:

services:
  talker:
    build: ./
    command: ros2 run demo_nodes_cpp talker  # C++ 发布节点

  listener:
    build: ./
    environment:
      - "PYTHONUNBUFFERED=1"  # 实时输出 Python 日志
    command: ros2 run demo_nodes_py listener  # Python 订阅节点

步骤 2:启动与验证

# 构建并启动容器(后台运行)
$ cd ~/ros_demos && docker compose up -d

# 查看订阅节点日志
$ docker compose logs listener

# 停止并清理容器
$ docker compose stop && docker compose rm

# (可选)删除自动创建的网络
$ docker compose down

更多资源

  • ROS 开发者文档
  • ROS 问答社区
  • ROS 论坛
  • ROS 包索引
  • 开源机器人基金会(OSRF)

许可证

镜像中软件的许可证信息可在 包索引 中查询。
Docker 镜像可能包含基础系统(如 Bash)及依赖软件,其许可证需

查看更多 ros 相关镜像 →
ros logo
ros
by library
官方
机器人操作系统(ROS)是一个开源项目,旨在为构建机器人应用提供全面支持,它集成了丰富的工具、库和通信协议,能够实现硬件抽象、设备驱动管理、节点间消息传递及软件包分发等关键功能,通过模块化架构和跨平台兼容性,有效简化了从简单移动机器人到复杂人机交互系统的开发流程,广泛应用于科研实验、工业自动化、服务机器人及智能家居等领域,极大促进了机器人技术的协作创新与快速迭代发展。
70210M+ pulls
上次更新:16 天前
osrf/ros logo
osrf/ros
by Open Source Robotics Foundation
机器人操作系统(ROS)是一个为构建各类机器人应用程序提供支持的开源软件项目,它提供了一套灵活的框架、丰富的工具和库,支持机器人系统的开发、调试与运行,广泛应用于科研、工业、服务等多个领域,旨在简化机器人应用的创建过程,促进机器人技术的普及与创新。
1981M+ pulls
上次更新:19 小时前
amd64/ros logo
amd64/ros
by amd64
机器人操作系统(ROS)是用于构建机器人应用的开源项目。
4500K+ pulls
上次更新:16 天前
arm32v7/ros logo
arm32v7/ros
by arm32v7
机器人操作系统(ROS)是一个用于构建机器人应用程序的开源项目,提供软件库、工具、驱动和算法,支持机器人开发的各个方面。
7100K+ pulls
上次更新:4 个月前
dustynv/ros logo
dustynv/ros
by dustynv
为NVIDIA Jetson平台提供预配置的ROS环境,支持机器人应用的快速开发、部署与运行,适配Jetson硬件加速能力。
21100K+ pulls
上次更新:7 个月前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.