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.