Docker Labs

Welcome to the Docker Labs section! These labs will teach you how to use Docker containers for robotics development with Mini Pupper.

Overview

Docker provides a consistent development environment that ensures dependencies remain stable across different systems. This is particularly useful for ROS2 development where version compatibility is crucial.

Labs

Lab Topic Description
Lab 1 Docker Fundamentals Learn Docker basics: pulling images, running containers, exec vs run, Docker Compose
Lab 2 ROS2 in Docker Run ROS2 nodes in Docker containers on Mini Pupper
Lab 3 AWS Greengrass Deploy Docker containers via AWS IoT Greengrass, S3, and ECR

Prerequisites

  • Basic Linux command line knowledge
  • Mini Pupper with Ubuntu installed
  • Docker installed on your system

Why Use Docker for Robotics?

Advantages

  • Consistent Environment: No need to worry about software updates breaking dependencies
  • Reproducibility: Same container runs identically on different machines
  • Isolation: Keep different projects with different dependencies separate
  • Easy Deployment: Ship your entire environment as a container image

Disadvantages

  • Need to build/compile images
  • Docker images can be large files
  • Slight performance overhead

Getting Started

Start with Lab 1 to learn Docker fundamentals before moving to ROS2-specific containers.


Table of contents