Duration 3 days – 21 hrs
Overview
This hands-on training course introduces Docker and Kubernetes as essential tools for modern DevOps workflows. Participants will learn how to containerize applications using Docker, manage dependencies, and create reproducible environments. The course then covers Kubernetes for orchestrating containerized workloads across development and QA environments. By the end of the course, participants will be able to build CI-friendly containers, automate deployments, and manage microservices with confidence.
Objectives
- Understand containerization and its benefits in Dev and QA workflows
- Build, run, and manage Docker containers
- Create Dockerfiles and optimize multi-stage builds
- Use Docker Compose for local development and QA simulations
- Deploy, scale, and manage applications in Kubernetes clusters
- Use Kubernetes resources (Pods, Services, Deployments, ConfigMaps, etc.)
- Debug, monitor, and test applications in Kubernetes environments
Audience
- Software Developers
- QA Engineers & Test Automation Professionals
- DevOps Engineers
- Site Reliability Engineers (SREs)
- Tech Leads and Architects
Pre-requisites
- Basic understanding of application development and testing
- Familiarity with command-line tools
- (Optional) Experience with Git, CI/CD, or cloud platforms
Content
Day 1: Docker Fundamentals & Dev-QA Containers
Introduction to Containers
- Virtual Machines vs Containers
- Benefits of Docker for Dev and QA
Docker Architecture
- Engine, Images, Containers, Volumes, Networks
Creating and Running Containers
- docker run, exec, logs, inspect
- Working with public/private registries (Docker Hub)
Dockerfile & Image Creation
- Writing Dockerfiles
- Multi-stage builds and image optimization
Docker Compose
- Defining multi-container environments
- Use cases: Local test environments, service stubs
Hands-on Labs
- Build and run a containerized app
- Simulate a test environment with Compose
🔷 Day 2: Kubernetes Core Concepts
Kubernetes Overview
- Why Kubernetes? Benefits over Docker Compose
- Kubernetes architecture: Nodes, Control Plane, etcd
Kubernetes Objects
- Pods, ReplicaSets, Deployments, Services
- Namespaces, Labels, Selectors
Configuring Applications
- ConfigMaps, Secrets, and Environment Variables
- Managing application configs across Dev and QA
Exposing Services
- ClusterIP, NodePort, LoadBalancer
- Ingress basics
Hands-on Labs
- Deploy a sample app using kubectl and YAML files
- Access services internally and externally
Day 3: Advanced Kubernetes for Dev-QA
Scaling & Rollouts
- Horizontal Pod Autoscaling
- Rolling updates and rollbacks
Volumes and Persistent Storage
- EmptyDir, HostPath, PVCs
- Mounting volumes for test artifacts or logs
Monitoring and Debugging
- Logs, events, kubectl describe, top
- Liveness/readiness probes
Helm Introduction (Optional)
- Helm charts for managing complex deployments
- Use in CI pipelines
Dev-QA Use Cases
- Isolated environments per feature/branch
- Parallel test execution in containers
- Simulating load and observing metrics
Hands-on Labs
- Deploy a multi-service test environment
- Roll back a broken deployment
- Set up resource limits and probes

