Open Container Initiative images for ROS!
Are you looking for Docker images? You're in the right spot! OCI images are Docker images. Here's how Docker and OCI relate.
New to containers? Start with Docker. It has the most documentation and tutorials.
docker run --rm=true -ti ghcr.io/sloretz/ros:rolling-desktop ros2 --help
All images are updated once per week at midnight GMT on Sunday. Additionally each ROS distro's images are updated automatically after a sync.
The ROS 2 distros have an image for each variant defined by REP 2001. The ROS 1 distro ROS Noetic has an image for each metapackage defined by REP 142. All images are based on Ubuntu.
Image | amd64 | arm v7 | arm64 v8 | Full Image Name |
---|---|---|---|---|
ROS Humble | ||||
ros-core | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:humble-ros-core |
ros-base | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:humble-ros-base |
desktop | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:humble-desktop |
perception | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:humble-perception |
simulation | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:humble-simulation |
desktop-full | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:humble-desktop-full |
ROS Jazzy | ||||
ros-core | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:jazzy-ros-core |
ros-base | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:jazzy-ros-base |
desktop | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:jazzy-desktop |
perception | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:jazzy-perception |
simulation | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:jazzy-simulation |
desktop-full | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:jazzy-desktop-full |
ROS Rolling | ||||
ros-core | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:rolling-ros-core |
ros-base | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:rolling-ros-base |
desktop | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:rolling-desktop |
perception | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:rolling-perception |
simulation | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:rolling-simulation |
desktop-full | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:rolling-desktop-full |
ROS Noetic | ||||
ros-core | ✅ | ✅ | ✅ | ghcr.io/sloretz/ros:noetic-ros-core |
ros-base | ✅ | ✅ | ✅ | ghcr.io/sloretz/ros:noetic-ros-base |
desktop | ✅ | ✅ | ✅ | ghcr.io/sloretz/ros:noetic-desktop |
perception | ✅ | ✅ | ✅ | ghcr.io/sloretz/ros:noetic-perception |
simulators | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:noetic-simulators |
simulators-osrf | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:noetic-simulators-osrf |
desktop-full | ✅ | ❌ | ✅ | ghcr.io/sloretz/ros:noetic-desktop-full |
robot | ✅ | ✅ | ✅ | ghcr.io/sloretz/ros:noetic-robot |
viz | ✅ | ✅ | ✅ | ghcr.io/sloretz/ros:noetic-viz |
simulators-osrf image contains the same packages as simulators, but updated to versions provided by packages.osrfoundation.org (PPA suggested by Gazebo).
Used containers for a while? Other tools might be better fit your use case.
apptainer run docker://ghcr.io/sloretz/ros:rolling-desktop ros2 --help
Distrobox (Requires Docker or Podman to be installed)
distrobox create --image ghcr.io/sloretz/ros:rolling-desktop --name rolling-desktop
distrobox enter rolling-desktop
. /opt/ros/rolling/setup.bash
ros2 --help
nerdctl using rootless mode.
nerdctl run --rm=true -ti ghcr.io/sloretz/ros:rolling-desktop ros2 --help
podman run --rm=true -ti ghcr.io/sloretz/ros:rolling-desktop ros2 --help
Rocker (requires Docker to be installed)
rocker ghcr.io/sloretz/ros:rolling-desktop ros2 -- --help
sarus pull ghcr.io/sloretz/ros:rolling-desktop
sarus run -t ghcr.io/sloretz/ros:rolling-desktop ros2 --help
singularity run docker://ghcr.io/sloretz/ros:rolling-desktop ros2 --help
Toolbox (Requires Podman to be installed)
toolbox create --image ghcr.io/sloretz/ros:rolling-desktop rolling-desktop
toolbox enter rolling-desktop
. /opt/ros/rolling/setup.bash
ros2 --help
x11docker (Requires Podman, Docker, or nerdctl to be installed)
# Option 1: using podman
podman pull ghcr.io/sloretz/ros:rolling-desktop
# Option 2: using docker
docker pull ghcr.io/sloretz/ros:rolling-desktop
# Option 3: using nerdctl
nerdctl pull ghcr.io/sloretz/ros:rolling-desktop
# After pulling, run this to use RViz with gpu acceleration
x11docker --gpu ghcr.io/sloretz/ros:rolling-desktop rviz2
This repo is a spiritual fork of the official OSRF docker images. The image definitions here were copied and modified from them. The goal of this repo is to make updated images available sooner. This has been a longstanding issue with the official OSRF Docker images that can't easily be solved due to both Docker Official Library policies and how the ROS buildfarm versions packages on different architectures.