Skip to content

MeloStudy/containers-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Containers Lab: From Basics to Orchestration

Welcome to the Containers Lab repository. This project is a comprehensive, progressive learning path designed to take you from the fundamental primitives of Linux containers to advanced Kubernetes orchestration.

🧪 Laboratory Management

This project includes intelligent scripts to manage your progress and environment.

1. Validation System

The validation script checks your lab implementation against the expected state.

  • Validate ALL labs:
    python scripts/validate_labs.py
  • Validate a SPECIFIC lab (highly recommended for performance):
    python scripts/validate_labs.py 001

Note

The validator automatically detects if a lab has been "provisioned". Labs in a clean state (unstarted or reset) will show as NOT PROVISIONED in the summary table.

2. Global Cleanup

Since container environments can accumulate resources, use the cleanup script to reset the workspace completely.

python scripts/cleanup_all.py

This script runs the reset.sh for every laboratory, ensuring no dangling containers, networks, or volumes interfere with your next exercise.

🛠️ Requirements

  • Docker 25+
  • Python 3.10+
  • Make (Optional, recommended for development speed)
  • Pytest (installed via pip install -r requirements.txt)

📜 License

Objective

The goal of this repository is to provide high-quality, interactive, and self-validating laboratories about containerization technologies. Every lab is designed to be:

  • Hands-on: Learn by doing, not just reading.
  • Self-Validating: Automated tests check your progress.
  • Portable: Run everything in your local environment with minimal dependencies.

Methodology: Spec Driven Development (SDD)

This repository follows a Spec Driven Development approach. Before any lab is implemented:

  1. A Specification (spec.md) is created to define learning objectives and validation criteria.
  2. The Laboratory is built based on the spec.
  3. Automated Tests (test_lab.py) are implemented to verify the learning outcomes.

Repository Structure

  • /labs: Contains the interactive laboratories.
  • /specs: Contains the design specifications for each lab.
  • /scripts: Utility scripts for validation and management.
  • /.specify: Internal project configuration and agentic memory.

Prerequisites

To participate in these labs, you will need:

  • Docker (v25.0.0 or superior)
  • Python 3.10+ (for validation scripts)
  • kubectl & Helm (for orchestration modules)

🚀 Getting Started

  1. Navigate to the labs/ directory.
  2. Choose a laboratory (starting with 001-container-fundamentals).
  3. Read the CONCEPT.md first to understand the theoretical background.
  4. Follow the hands-on instructions in the lab's README.md.
  5. Run the validation script to check your work.

📖 How to Learn

Each laboratory follows a strict educational structure designed for deep learning:

  1. Theoretical Foundation (CONCEPT.md): A separate deep dive into the "why". Read this before jumping into terminal commands.
  2. Actionable Instructions (README.md): Clear, step-by-step hands-on exercises.
  3. Automated Validation (test_lab.py): Immediate feedback on your implementation.

Version: 0.6.0 | Author: MeloDev

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors