Pick your ROS2 distro, select the packages you need, configure your dev environment —
and walk
away with a ready-to-run Dockerfile & Compose file. Zero Docker expertise required.
Each distro has different support timelines. Humble is the current LTS
(supported
until 2027). Jazzy is the latest LTS. Kilted is the newest release.
ROS2 Distribution
🐢
Humble Hawksbill
LTS · Ubuntu 22.04 Supported until May 2027
Most Popular
🎷
Jazzy Jalisco
LTS · Ubuntu 24.04 Supported until May 2029
Latest LTS
🦖
Kilted Kaiju
Latest available version Ubuntu 24.10
Latest
Base Image Variant
💡
Which variant should I pick? Choose
ros-base for
headless/embedded systems with minimal overhead. Choose desktop if you plan to run
RViz or
Gazebo GUIs. Choose desktop-full for a complete ready-to-go experience (largest
image).
ros-base
Core ROS2 only ~1.2 GB · Minimal
desktop
+ RViz2 + tools ~2.8 GB · Recommended
Recommended
desktop-full
+ Gazebo + demos ~4.5 GB · Everything
Step 1 of 4
Step 02 — ROS2 Packages
Select Your ROS2 Features
Check everything you plan to use. Don't worry about dependencies — they're
handled
automatically.
Navigation & Path Planning
✓
NAV2
Full navigation stack: SLAM, path planning, obstacle avoidance, recovery
behaviors
✓
📡
SLAM Toolbox
Simultaneous localization and mapping. Build maps while navigating
✓
🔭
Cartographer
Google's real-time 2D/3D SLAM library with ROS2 integration
Simulation
✓
📦
Gazebo Classic
Full physics simulator for testing robots. Requires X11 or display
forwarding
GUI Required
✓
💠
Ignition / Gz Sim
Next-gen Gazebo (Ignition). Modern physics, better ROS2 bridging
New Gazebo
✓
👁️🗨️
RViz2
3D visualization tool — view point clouds, transforms, robot models, sensor
data
GUI Required
Robot Platforms
✓
🤖
TurtleBot3
Full TurtleBot3 stack: bringup, simulation, navigation, teleop
packages
Great for Learning
✓
MoveIt2
Motion planning framework for robotic arms and manipulation
✓
⚙️
ros2_control
Hardware abstraction layer for actuators, sensors, and controllers
Perception & Sensors
✓
PCL / Point Cloud
Point Cloud Library + perception_pcl for 3D sensor processing
(LiDAR, depth
cameras)
✓
📷
CV Bridge + OpenCV
Convert between ROS image messages and OpenCV for computer vision
pipelines
✓
TF2 Tools
Transform library plus visualization and debugging tools for
coordinate
frames
Communication & Middleware
✓
🌪️
CycloneDDS
Alternative DDS implementation — faster and more reliable for many
use
cases
Recommended DDS
✓
ROSBridge Suite
WebSocket bridge to connect web apps, mobile apps, and non-ROS
systems
GPU & Accelerated Computing
⚠️
GPU packages require NVIDIA drivers on your host +
the
NVIDIA
Container Toolkit. Without these, the container won't start. Only select if you have an
NVIDIA GPU.
✓
CUDA Support
NVIDIA CUDA base image + toolkit for GPU-accelerated computing
NVIDIA GPU
✓
🧠
TensorRT
NVIDIA's deep learning inference optimizer — run neural networks
fast
NVIDIA GPU
Step 03 — Development Environment
Configure Dev Tools
Select the development utilities you want pre-installed. These make
day-to-day
work
inside the container comfortable.
Build & Package Tools
🔨
colcon
ROS2's build tool — required for building workspace packages
📦
rosdep
Dependency manager — install ROS package dependencies with one
command
Python3 + pip
Python development with pip, venv support, and common packages
CMake + build-essential
C++ build toolchain — needed for compiling native packages
Version Control & Workspace
Git
Version control — clone repos, manage code, pull packages
vcstool
Manage multiple repos with a .repos file — lego-like modularity
Remote Access & Display
🖥️
X11 Display Forwarding
Run GUI apps (RViz, Gazebo) from inside the container on your
Windows
desktop
🔐
SSH Server
Connect to the container remotely — useful for VS Code Remote or
headless access
📟
tmux
Terminal multiplexer — run multiple sessions, split panes,
detach and
reattach
Editors & Debugging
✏️
nano + vim
Terminal text editors for quick edits inside the container
🐛
GDB Debugger
GNU debugger for C++ ROS2 nodes — add breakpoints, inspect
crashes