跳转至

51. 网络、Docker、系统镜像与主控差异

51.1 学习目标

为主控选择可靠的网络和运行方式,分清热点、无线客户端、容器、网络挂载与图形窗口各自影响的范围。SSH 登录成功只验证了网络和远程终端;容器内的设备、文件和 ROS 环境还要分别检查。

51.2 适用范围

树莓派、Jetson、RDK、Atlas 和 IPC 主控;原生 Ubuntu、Docker 和虚拟机环境。

51.3 操作前检查

  • 已记录主控型号、Ubuntu、ROS 发行版和存储介质。
  • 已完成第 13 章的 SSH 入口。
  • 不在生产环境直接切换网络或覆盖镜像。

51.4 工作原理

主机、容器与设备边界

宿主机(Host)是直接运行 Ubuntu 并管理硬件的主控。Docker在宿主机上隔离运行一组进程和文件;其中的容器(Container)是运行实例,镜像(Image)是创建容器时使用的只读软件模板。容器默认看不到宿主机的全部文件和设备,需要通过挂载、设备映射和网络配置显式提供。

主控差异主要出现在CPU、GPU、驱动、存储、网络接口和硬件加速。网络文件系统(Network File System, NFS)可以把另一台计算机共享的目录挂载到本地路径。使用容器或网络挂载后,应分别验证设备映射、文件权限、网络和时间同步。

51.5 操作步骤

网络与容器检查

  1. 选择热点、Station 或有线网络,并记录新 IP 的获取方式。
  2. 主控原生环境中确认 USB、视频、串口和 GPU 设备。
  3. 使用 Docker 时查看容器、镜像、挂载和设备:
docker ps
docker inspect <容器名>
  1. 进入容器后重新检查 ROS_DISTRO、设备节点、话题和时间。
  2. 使用 NFS 前先验证挂载读写和网络断开行为。
  3. 需要 RViz/OpenCV 桌面时,选择 VNC 或本地显示;不要让 SSH X11 转发承担高帧率视频。
  4. 记录主控平台和运行方式,写入部署矩阵。

51.6 验收标准

  • 原生和容器中的 ROS 发行版、工作空间与源码一致。
  • 需要的设备、GPU、网络和挂载在实际运行环境中可见。
  • 网络切换有恢复路径,容器停止不会遗留运动命令。
  • 图形应用选择与带宽、显示和主控能力匹配。

51.7 故障排查

现象 检查
宿主有串口、容器没有 设备映射、权限、用户组
容器能启动但相机打不开 /dev/video*、USB 带宽和驱动
NFS 目录为空 挂载路径、网络和权限
VNC 正常、SSH 图像卡顿 使用场景不同,不要混淆两者
换主控后性能差异大 架构、驱动、硬件加速和模型版本

章节导航

上一章:R680 底盘调试、源码与固件维护 · 返回本篇 · 下一章:日志、备份、升级与恢复