Docker & Kubernetes: Từ Container đến Orchestration
Docker và Kubernetes là nền tảng của modern DevOps.
Docker Basics
Tạo Dockerfile cho Node.js app:
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "index.js"]Build và run:
docker build -t my-app:1.0 .
docker run -p 3000:3000 my-app:1.0Kubernetes Basics
Deploy container trên Kubernetes:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app:1.0
ports:
- containerPort: 3000Scaling
Kubernetes tự động scale dựa trên CPU/Memory usage.
Đây là tương lai của deployment!