Skip to content

Kubernetes & Docker

🐳 Part 1: Docker – Containerization

Step 1: Understand the Basics

What is a container?
Difference between VM and container
Why Docker? Use-cases in dev and prod
📚 Learn:
YouTube:

Step 2: Install Docker

Install Docker Desktop (Windows/Mac) or Docker Engine (Linux)
🔗

Step 3: Learn Docker CLI

bash
CopyEdit
docker --version
docker run hello-world
docker ps -a
docker images
docker exec -it <container> /bin/bash

🧪 Try:
bash
CopyEdit
docker run -d -p 8080:80 nginx

Step 4: Docker Images

Dockerfile basics
docker build
docker tag, docker push
📄 Sample Dockerfile:
Dockerfile
CopyEdit
FROM node:18-alpine
WORKDIR /app
COPY . .
RUN npm install
CMD ["npm", "start"]

🧪 Project: Dockerize a Node.js or Go app.

Step 5: Volumes & Networking

Bind Mount vs Volume
Docker networks (bridge, host, none)
Compose multi-container setup
📦 Practice:
yaml
CopyEdit
# docker-compose.yml
version: "3"
services:
web:
image: nginx
ports:
- "80:80"

Step 6: Debugging & Logs

docker logs <container>
docker inspect
docker stats
🛠️ Tools:
– GUI for Docker

☸️ Part 2: Kubernetes – Orchestration

Step 1: Learn Kubernetes Architecture

Master, Node, Pod, ReplicaSet, Deployment
Services: ClusterIP, NodePort, LoadBalancer
ConfigMap, Secret, Volumes

Step 2: Install K8s Locally

Best:
Alternative: Docker Desktop (Kubernetes enabled)
bash
CopyEdit
minikube start
kubectl get nodes

Step 3: Learn kubectl Commands

bash
CopyEdit
kubectl get pods
kubectl apply -f deployment.yaml
kubectl describe pod <pod-name>
kubectl logs <pod-name>

📘 Use:

Step 4: Write K8s YAML Files

deployment.yaml
yaml
CopyEdit
apiVersion: apps/v1
kind: Deployment
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.