0% found this document useful (0 votes)
36 views3 pages

Docker - Tutorials - Docker - ROS Wiki

This tutorial provides instructions for installing Docker and using it to run ROS containers on your local machine. It explains how to pull ROS images from Docker Hub, run ROS containers interactively, stop containers, and links to a video demonstration. The tutorial is aimed at beginners and allows using ROS without installing it locally by running ROS versions in isolated Docker containers.

Uploaded by

ahasimplemail
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
36 views3 pages

Docker - Tutorials - Docker - ROS Wiki

This tutorial provides instructions for installing Docker and using it to run ROS containers on your local machine. It explains how to pull ROS images from Docker Hub, run ROS containers interactively, stop containers, and links to a video demonstration. The tutorial is aimed at beginners and allows using ROS without installing it locally by running ROS versions in isolated Docker containers.

Uploaded by

ahasimplemail
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 3

docker/Tutorials/Docker - ROS Wiki http://wiki.ros.

org/docker/Tutorials/Docker

Please ask about problems and questions regarding this tutorial on answers.ros.org
(http://answers.ros.org). Don't forget to include in your question the link to this page, the versions of your
OS & ROS, and also add appropriate tags.

Getting started with ROS and Docker


Description: This tutorial walks you through installing Docker and spinning up your first ROS container on
your computer.

Keywords: ROS, Docker

Tutorial Level: BEGINNER

For reasons you'll come to understand in a bit, a host installation of ROS is not required for most of these
tutorials unless otherwise specified. To quickly grasp how this is possible with Docker, it's recommended
you try it (https://www.docker.com/tryit/) out with the online tutorial.

Contents
1. Installing Docker
2. Using ROS images
1. Pulling ROS images
2. Running ROS containers
3. Stopping ROS containers
4. Video Demonstration

Installing Docker
Before starting this tutorial please complete installation as described in Docker's installation instructions
(https://docs.docker.com/installation/). Installation instructions are available for multiple operation systems
including Ubuntu, Mac OS x, Debian, Fedora and even Microsoft Windows. ¯\_(ツ)_/¯

Note that for recent Linux distros, the installation really just boils down to running a single wget command.
You may also want add your user to the docker group to avoid having to use sudo permissions when you
use the docker command, as also noted further into Docker's installation instructions.

Using ROS images


1. Pulling ROS images
Now that you have Docker installed, lets pull down a ROS container image:

1 of 3 10/4/23, 09:13
docker/Tutorials/Docker - ROS Wiki http://wiki.ros.org/docker/Tutorials/Docker

docker pull ros

This will pull the latest tagged LTS image of ROS from Docker Hub (https://hub.docker.com/account
/signup/) onto your local host machine. Specifically, the image name "ros" is registered with Docker's
Official ROS Repo images (https://registry.hub.docker.com/_/ros/).

Take a look at the Official ROS Repo and you'll find additional tag names you can use to help specify what
exact version and/or meta package level you'd like to use. The tags are built from each other in the same
manner as the respective ROS metapackage (https://github.com/ros/metapackages) dependencies
interlink, i.e. if you were to pull:

docker pull ros:noetic-robot

You would then also then locally posses the "noetic-ros-core" and "noetic-ros-base" tagged images as well.

2. Running ROS containers


Now that you have the ROS image downloaded, you can spin up a container from it by calling:

docker run -it ros

This will move you into an interactive session with the running container. From here, it's basically as if
you're in a new bash terminal separate from your host machine. Now run the roscore command and you will
see ros master startup.

In a new terminal on the host machine, find the name of your new container, last container started using:

$ docker ps -l

Using the name of the container as the ID, in writing this tutorial docker happened to assign the string
"nostalgic_morse", we can start additional bash session in the same container by running:

docker exec -it nostalgic_morse bash

Once inside, we'll need to setup our environment. The best way to do this is to using the entrypoint script
included in the docker image:

source ros_entrypoint.sh

If you ran the docker pull ros command, you will have a ROS 2 installation (dashing, foxy, etc.) try:

ros2 topic list

If you pulled a ROS1 Docker container tag (noetic, kinetic, etc.) try:

roscore

2 of 3 10/4/23, 09:13
docker/Tutorials/Docker - ROS Wiki http://wiki.ros.org/docker/Tutorials/Docker

3. Stopping ROS containers


To stop containers, we merely need to stop the original processes run by docker run command. We can
switch back to the terminal where roscore is running and hit ctrl-c to stop the ROS process, and then
exit to terminate the bash shell. You can also use the docker CLI to tell the docker daemon to stop or
remove the running container directly. Check the stop (https://docs.docker.com/engine/reference
/commandline/stop/) and rm (https://docs.docker.com/engine/reference/commandline/rm/) docs here for
details.

4. Video Demonstration
Below video makes you understand how Docker can be utilized for different ROS versions on different
Operating systems.

ROS2 Docker GUI for Windows and Linux

Except where otherwise


noted, the ROS wiki is Wiki: docker/Tutorials/Docker (last edited 2022-11-04 06:24:40 by Muhammad Luqman (/Muhammad%20Luqman))

licensed under the


Creative Commons Attribution 3.0 (http://creativecommons.org/licenses/by/3.0/)

(https://www.openrobotics.org/)

3 of 3 10/4/23, 09:13

You might also like