What problem does it solve? Containerizing ROS2 workspaces introduces failure modes that plain Docker knowledge does not cover: DDS multicast discovery breaks across bridge networks, GPU passthrough needs NVIDIA Container Toolkit wiring, GUI tools like rviz2 require X11 or Wayland forwarding, and naive Dockerfiles produce bloated multi-gigabyte runtime images. This Skill provides tested patterns for each of these problems. ## Core Features & Use Cases - Multi-Stage Dockerfiles: Separate dev, build, and runtime stages with rosdep layer caching so production images contain only the colcon install space. - Docker Compose Orchestration: One container per subsystem (perception, navigation, driver) with health checks, dev/deploy profiles, and shared memory configuration for zero-copy image transport. - DDS Networking: CycloneDDS and FastDDS XML configs for unicast peer discovery across bridge networks, plus guidance on host, bridge, and macvlan networking trade-offs. - Hardware Access: GPU passthrough via NVIDIA Container Toolkit, USB camera and serial device passthrough with udev rules, and X11/Wayland forwarding for rviz2. - Use Case: You are deploying a ROS2 Humble perception stack on a Jetson and need a minimal runtime image, GPU access for YOLO inference, and DDS communication between the camera driver and perception containers. ## Quick Start Ask the assistant to write a multi-stage Dockerfile and docker-compose setup for your ROS2 Humble workspace with GPU support and CycloneDDS networking.