Skip to content

xiaosq2000/ros-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS Docker

A Python-based CLI tool to generate Docker environments for various ROS (Robot Operating System) distributions.

Easily create and configure containerized ROS environments with customizable settings.

Prerequisites

Ensure you have the following installed and configured:

Get Started

Clone the Repository

git clone https://github.com/xiaosq2000/ros-docker.git
cd ros-docker

Note

If uv unavailable:

  1. You need install first
    python -m venv .venv
    source .venv/bin/activate
    pip install .
  2. Replace uv run ros-docker with python -m ros-docker.main in all following commands

List Available ROS Distributions

To see all available ROS distributions that can be generated:

uv run ros-docker list

asciicast-list

Take ROS1 Noetic as an example.

Generate Docker Files

Generate Docker files for a specific ROS distribution:

uv run ros-docker generate noetic

asciicast-generate

Tip

  1. Preview the generated files without saving them:
    uv run ros-docker generate noetic --preview
  2. Specify a custom output directory (default: './generated'):
    uv run ros-docker generate noetic --output-dir ./generated/noetic 

Build and Run

cd generated
docker compose -f docker-compose.noetic.yml up --build -d

asciicast-build-and-run

Interact with the Container

docker exec -it ros-noetic-container bash

asciicast-roscore

Customization

Base Docker Images

You can customize the Docker environment by editing the YAML configuration files in the configs directory. Each ROS distribution has its own configuration file, e.g., configs/ros_noetic.yaml.

Development Docker Images

The tool supports creating development environments with custom tooling and configurations through development profiles.

Create your own development profiles by adding YAML files to the configs/dev_profiles/ directory.

uv run ros-docker list-profiles
uv run ros-docker generate-dev <ros-distro> --profile <your-profile>

About

Generate Docker environments for various ROS (Robot Operating System) distributions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published