Skip to content

openrobotics/gz_oci_images

 
 

Repository files navigation

Gazebo Open Container Initiative Images

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.

Quick Start

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 --verbose

For 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.

About the images

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

Using with other OCI compatible tools

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 sim

GPU Documentation

Requirements: 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 sim

Documentation

GPU 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 sim

GPU 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 sim

GPU Documentation

Requirements: Docker GPU Support: NVIDIA GPUs with --nvidia gpus flag X11 Support: Automatic with --x11 flag

# Basic usage

# With NVIDIA GPU and X11 display

Documentation

GPU 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 sim

GPU Documentation

GPU 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 sim

GPU Documentation

Troubleshooting

See the Troubleshooting Guide for step-by-step diagnostics.

Comparison to osrf/docker_images

This repo is a spiritual fork of the official OSRF docker images. The image definitions here were copied and modified from them.

About

Gazebo Open Container Initiative Images

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 49.8%
  • Earthly 49.0%
  • Shell 1.2%