Skip to content

itsmanudon/cloud-native-labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Cloud Native Labs Repository

Docker Kubernetes GitHub Actions License: MIT

Educational Repository: Comprehensive collection of Docker, Kubernetes, and container orchestration examples, assignments, and production-ready samples.


πŸ“š About This Repository

This repository serves as a comprehensive learning resource for container technologies, featuring hands-on examples, practical assignments, and production patterns. Perfect for developers, DevOps engineers, and anyone looking to master containerization and orchestration technologies.

🎯 What You'll Learn

  • Container Fundamentals: Docker images, containers, volumes, and networking
  • Orchestration: Docker Compose, Swarm, and Kubernetes
  • CI/CD Pipelines: GitHub Actions workflows for containerized applications
  • Security Best Practices: Vulnerability scanning and secure container patterns
  • Production Patterns: Multi-stage builds, health checks, and graceful shutdowns

πŸ‘¨β€πŸ’» Credits & Attribution

Created by Bret Fisher - Docker Captain, DevOps expert, and bestselling author.

πŸ“– Original Resources

πŸ’° Course Discounts

Get Bret's courses with exclusive coupon links: bretfisher.com/courses


πŸ“‹ Table of Contents


πŸš€ Quick Start

Getting Started

  1. Clone the repository:

    git clone https://github.com/itsmanudon/cloud-native-labs.git
    cd cloud-native-labs
  2. Install Docker (if not already installed):

  3. Start exploring:

    • Browse the samples/ directory for working applications
    • Try the assignments/ for hands-on exercises
    • Check cheatsheets/ for quick references

First Container

# Run your first container
docker run --rm hello-world

# Explore a sample application
cd samples/sample-express
docker-compose up

πŸ“¦ Repository Structure

docker-bret-fisher/
β”œβ”€β”€ πŸ“ assignments/          # Hands-on exercises and challenges
β”œβ”€β”€ πŸ“ cheatsheets/          # Quick reference guides
β”œβ”€β”€ πŸ“ compose-stacks/       # Docker Compose examples
β”œβ”€β”€ πŸ“ docker-ci-automation/ # CI/CD pipeline examples
β”œβ”€β”€ πŸ“ dockerfiles/          # Dockerfile best practices
β”œβ”€β”€ πŸ“ experiments/          # Experimental setups and tests
β”œβ”€β”€ πŸ“ kubernetes/           # Kubernetes manifests
β”œβ”€β”€ πŸ“ multi-stage/          # Multi-stage build examples
β”œβ”€β”€ πŸ“ node-stuff/           # Node.js specific examples
β”œβ”€β”€ πŸ“ notes/                # Course notes and lectures
β”œβ”€β”€ πŸ“ private-registry/     # Private registry setups
β”œβ”€β”€ πŸ“ production-templates/ # Production deployment templates
β”œβ”€β”€ πŸ“ samples/              # Production-ready applications
β”œβ”€β”€ πŸ“ scripts/              # Utility scripts
β”œβ”€β”€ πŸ“ swarm-stacks/         # Docker Swarm configurations
└── πŸ“ templates/            # Reusable templates

Key Directories Explained

Directory Description
docker-ci-automation/ Complete CI/CD pipelines with GitHub Actions (workflows in .github-reference/)
samples/ Production-ready containerized applications (Node.js, databases, web apps)
assignments/ Interactive exercises and coding challenges
dockerfiles/ Dockerfile examples and optimization techniques
multi-stage/ Multi-stage build patterns for smaller images
swarm-stacks/ Docker Swarm orchestration examples
kubernetes/ Kubernetes YAML manifests and deployments
cheatsheets/ Quick reference guides and command summaries

πŸ”§ Prerequisites

System Requirements

  • Operating System: macOS, Windows 10/11, or Linux
  • RAM: Minimum 4GB (8GB recommended)
  • Storage: 10GB free space for Docker images and containers

Software Prerequisites

  • Docker Engine 20.10+ or Docker Desktop
  • Git for repository cloning
  • Code Editor (VS Code, IntelliJ, or similar)

Optional but Recommended

  • Kubernetes CLI (kubectl) for Kubernetes examples
  • Docker Compose V2 (included with Docker Desktop)
  • GitHub Account for CI/CD examples

πŸ“š Learning Resources

πŸ† Recommended Learning Path

  1. Start Here: Begin with intro/README.md and references/S01 Commands and Links.md
  2. Hands-On Practice: Work through the assignments/ directory
  3. Real Applications: Explore samples/ for complete working examples
  4. Production Patterns: Study multi-stage/ and docker-ci-automation/
  5. Reference Materials: Use cheatsheets/ and notes/ for quick lookups

πŸ“– Documentation Links

πŸŽ₯ Video Resources


🀝 Contributing

We welcome contributions! This repository is maintained for educational purposes.

Ways to Contribute

  • πŸ› Report Issues: Found a bug or unclear example? Open an issue
  • πŸ’‘ Suggest Improvements: Have ideas for better examples? Share them!
  • πŸ“ Documentation: Help improve documentation and guides
  • πŸ§ͺ Testing: Test examples on different platforms and report findings

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-improvement)
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request with a clear description

Code of Conduct

This project follows a code of conduct to ensure a welcoming environment for all contributors.


πŸ“„ License

This repository is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2025 Manan Jariwala

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

🌐 Contact Me

Stay Updated

YouTube X (Twitter) Substack LinkedIn


πŸ™ Acknowledgments

Special thanks to Bret Fisher for creating this comprehensive learning resource and the Docker community for their continuous contributions to container technology.

Connect with the Community

Discord Twitter LinkedIn


Happy Learning! πŸŽ‰ Ready to master Docker and Kubernetes? Let's containerize the world! 🐳