用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MIUAV/vibe-coding-ros2 --skill docker-ros2-deployment命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | docker-ros2-deployment |
| description | Docker ROS2 部署技能 - Docker Compose、ROS2 容器化、设备映射、多机器人部署 |
| argument-hint | Docker OR ROS2 OR 容器化 OR docker-compose OR deployment |
| user-invocable | true |
ROS2 Docker 容器化部署
当需要以下帮助时使用此技能:
# ros2.Dockerfile
FROM ros:iron-ros-base-jammy
# 安装 ROS2 包
RUN apt-get update && \
apt-get install -y \
ros-iron-rclcpp \
ros-iron-rclpy \
ros-iron-std-msgs \
ros-iron-geometry-msgs \
ros-iron-sensor-msgs \
ros-iron-nav-msgs \
&& rm -rf /var/lib/apt/lists/*
# 设置工作目录
WORKDIR /workspace
# 复制代码
COPY . /workspace/src/
# 编译
RUN . /opt/ros/iron/setup.sh && \
colcon build --merge-install
# 设置环境
ENV ROS_DOMAIN_ID=42
CMD ["bash"]
# docker-compose.yml
version: '3.8'
services:
robot:
build:
context: .
dockerfile: ros2.Dockerfile
container_name: robot_01
environment:
- ROS_DOMAIN_ID=42
- ROS_IP=192.168.1.101
devices:
- /dev/video0:/dev/video0
- /dev/ttyUSB0:/dev/ttyUSB0
volumes:
- ./config:/workspace/config
- ./data:/workspace/data
network_mode: host
restart: unless-stopped
perception:
build:
context: .
dockerfile: perception.Dockerfile
container_name: perception_01
environment:
- ROS_DOMAIN_ID=42
depends_on:
- robot
network_mode: host
# docker-compose.multi-robot.yml
version: '3.8'
services:
robot_01:
build: ./robot
container_name: robot_01
environment:
- ROS_DOMAIN_ID=1
- ROBOT_ID=1
- ROS_IP=192.168.1.101
devices:
- /dev/video0:/dev/video0
network_mode: host
robot_02:
build: ./robot
container_name: robot_02
environment:
- ROS_DOMAIN_ID=2
- ROBOT_ID=2
- ROS_IP=192.168.1.102
devices:
- /dev/video1:/dev/video0
network_mode: host
central:
build: ./central
container_name: central_station
environment:
- ROS_DOMAIN_ID=0
network_mode: host
ports:
- "8080:8080" # Web 界面
# 设备映射配置
services:
robot:
devices:
# 相机
- /dev/video0:/dev/video0
# 激光雷达
- /dev/ttyUSB0:/dev/ttyUSB0
# 串口
- /dev/ttyACM0:/dev/ttyACM0
group_add:
- dialout
- video
tmpfs:
- /run:exec
# 资源限制配置
services:
robot:
deploy:
resources:
limits:
cpus: '2'
memory: 2G
reservations:
cpus: '1'
memory: 1G
shm_size: 256mb # 共享内存