Open Container Initiative images for Gazebo!
Are you looking for Docker images? You're in the right spot! OCI images are Docker images. Here's how Docker and OCI relate.
Note
This repository is mostly a fork of the work done by @slorezt in https://github.com/sloretz/ros_oci_images adapted to Gazebo. All credit goes to Shane.
New to containers? Start with Rocker - it automatically handles GPU and display setup for you. We recommend using Rocker inside of a Python virtual environment.
# Install rocker (requires Docker)
python3 -m venv venv && source venv/bin/activate && pip install rocker
# Run Gazebo with GPU and X11 display support
rocker --x11 --nvidia gpus ghcr.io/openrobotics/gazebo:jetty-full -- gz sim --verboseFor other container tools or advanced usage, see the sections below.
Tip
Having issues with graphics or GPU acceleration? See the Troubleshooting Guide for step-by-step diagnostics.
All images are updated once per week at midnight GMT on Sunday. Additionally each Gazebo release's images are updated automatically after a sync.
The Gazebo releases provide different variants based on the included libraries. All images are based on Ubuntu.
| Image | amd64 | arm64 v8 | Full Image Name |
|---|---|---|---|
| Gazebo Jetty (LTS) | |||
| core | ✅ | ✅ | ghcr.io/openrobotics/gazebo:jetty-core |
| full | ✅ | ✅ | ghcr.io/openrobotics/gazebo:jetty-full |
| Gazebo Ionic | |||
| core | ✅ | ✅ | ghcr.io/openrobotics/gazebo:ionic-core |
| full | ✅ | ✅ | ghcr.io/openrobotics/gazebo:ionic-full |
| Gazebo Harmonic (LTS) | |||
| core | ✅ | ✅ | ghcr.io/openrobotics/gazebo:harmonic-core |
| full | ✅ | ✅ | ghcr.io/openrobotics/gazebo:harmonic-full |
| Gazebo Fortress (LTS) | |||
| core | ✅ | ✅ | ghcr.io/openrobotics/gazebo:fortress-core |
| full | ✅ | ✅ | ghcr.io/openrobotics/gazebo:fortress-full |
Used containers for a while? Other tools might be a better fit for your use case. Below are examples showing how to run Gazebo with X11 display and GPU support using various container tools.
GPU Support: NVIDIA GPUs with --nv flag, AMD GPUs with --rocm flag
X11 Support: Manual configuration required
# Basic usage
apptainer run docker://ghcr.io/openrobotics/gazebo:jetty-full gz sim --help
# With NVIDIA GPU and X11 display
apptainer run --nv --env DISPLAY=$DISPLAY -B /tmp/.X11-unix:/tmp/.X11-unix \
docker://ghcr.io/openrobotics/gazebo:jetty-full gz simRequirements: Docker or Podman
GPU Support: NVIDIA GPUs with --nvidia gpus flag, Intel and AMD GPUs automatically supported
X11 Support: Automatic X11 and Wayland socket access
# Create container with NVIDIA GPU support
distrobox create --nvidia --image ghcr.io/openrobotics/gazebo:jetty-full --name jetty-full
# Enter the container
distrobox enter jetty-full
# Run Gazebo (X11 and GPU work automatically)
gz simGPU Support: Docker-compatible --gpus flag
X11 Support: Manual configuration required
# Basic usage
nerdctl run --rm=true -ti ghcr.io/openrobotics/gazebo:jetty-full gz sim --help
# With GPU and X11 display
nerdctl run -it --rm --gpus all -e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
ghcr.io/openrobotics/gazebo:jetty-full gz simGPU Documentation Rootless Mode
GPU Support: NVIDIA GPUs using CDI with --device nvidia.com/gpu=all flag
X11 Support: Manual configuration required with SELinux label disabled
# Basic usage
podman run --rm=true -ti ghcr.io/openrobotics/gazebo:jetty-full gz sim --help
# With NVIDIA GPU and X11 display
podman run -it --rm --device nvidia.com/gpu=all --security-opt=label=disable \
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \
ghcr.io/openrobotics/gazebo:jetty-full gz simRequirements: Docker
GPU Support: NVIDIA GPUs with --nvidia gpus flag
X11 Support: Automatic with --x11 flag
# Basic usage
# With NVIDIA GPU and X11 displayGPU Support: NVIDIA GPUs through NVIDIA Container Toolkit (configured via OCI hooks) X11 Support: Manual bind mounting required
# Pull and run basic usage
sarus pull ghcr.io/openrobotics/gazebo:jetty-full
sarus run -t ghcr.io/openrobotics/gazebo:jetty-full gz sim --help
# With X11 display (GPU configured at system level)
sarus run --mount=type=bind,source=/tmp/.X11-unix,destination=/tmp/.X11-unix \
ghcr.io/openrobotics/gazebo:jetty-full gz simGPU Support: NVIDIA GPUs with --nv flag, AMD GPUs with --rocm flag
X11 Support: Manual configuration required
# Basic usage
singularity run docker://ghcr.io/openrobotics/gazebo:jetty-full gz sim --help
# With NVIDIA GPU and X11 display
singularity run --nv --env DISPLAY=$DISPLAY -B /tmp/.X11-unix:/tmp/.X11-unix \
docker://ghcr.io/openrobotics/gazebo:jetty-full gz simSee the Troubleshooting Guide for step-by-step diagnostics.
This repo is a spiritual fork of the official OSRF docker images. The image definitions here were copied and modified from them.