Educational Repository: Comprehensive collection of Docker, Kubernetes, and container orchestration examples, assignments, and production-ready samples.
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.
- 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
Created by Bret Fisher - Docker Captain, DevOps expert, and bestselling author.
- π Docker Mastery Course: Udemy Course - Complete Docker fundamentals and production deployment
- π³ Swarm Mastery Course: Udemy Course - Advanced container orchestration
- π’ Node.js with Docker Course: Udemy Course - Building Node.js applications with Docker
- π Original Repository: BretFisher/docker-mastery-for-devops
- π Website: bretfisher.com - Courses, newsletter, and DevOps resources
- π§ Newsletter: Weekly DevOps Content
Get Bret's courses with exclusive coupon links: bretfisher.com/courses
- π Quick Start
- π¦ Repository Structure
- π Course Curriculum
- π§ Prerequisites
- π Learning Resources
- π€ Contributing
- π License
- π Community
-
Clone the repository:
git clone https://github.com/itsmanudon/cloud-native-labs.git cd cloud-native-labs -
Install Docker (if not already installed):
- Docker Desktop for Mac/Windows
- Docker Engine for Linux
-
Start exploring:
- Browse the
samples/directory for working applications - Try the
assignments/for hands-on exercises - Check
cheatsheets/for quick references
- Browse the
# Run your first container
docker run --rm hello-world
# Explore a sample application
cd samples/sample-express
docker-compose updocker-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
| 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 |
- Operating System: macOS, Windows 10/11, or Linux
- RAM: Minimum 4GB (8GB recommended)
- Storage: 10GB free space for Docker images and containers
- Docker Engine 20.10+ or Docker Desktop
- Git for repository cloning
- Code Editor (VS Code, IntelliJ, or similar)
- Kubernetes CLI (kubectl) for Kubernetes examples
- Docker Compose V2 (included with Docker Desktop)
- GitHub Account for CI/CD examples
- Start Here: Begin with
intro/README.mdandreferences/S01 Commands and Links.md - Hands-On Practice: Work through the
assignments/directory - Real Applications: Explore
samples/for complete working examples - Production Patterns: Study
multi-stage/anddocker-ci-automation/ - Reference Materials: Use
cheatsheets/andnotes/for quick lookups
- Docker Official Documentation
- Kubernetes Documentation
- Docker Compose Documentation
- GitHub Actions Documentation
We welcome contributions! This repository is maintained for educational purposes.
- π 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-improvement) - Make your changes
- Test thoroughly
- Submit a pull request with a clear description
This project follows a code of conduct to ensure a welcoming environment for all contributors.
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.
Special thanks to Bret Fisher for creating this comprehensive learning resource and the Docker community for their continuous contributions to container technology.
- π§ Newsletter: Weekly DevOps Content
- πΊ YouTube: Bret Fisher
- π¦ Twitter: @BretFisher
Happy Learning! π Ready to master Docker and Kubernetes? Let's containerize the world! π³