๐ณ Docker Crash Course โ Containers, Images, Dockerfile & DevOps Workflow
๐ฏ Mแปฅc Tiรชu Bร i Viแบฟt
Tแปng hแปฃp kiแบฟn thแปฉc Docker tแปซ cฦก bแบฃn ฤแบฟn thแปฑc hร nh โ bao gแปm vแบฅn ฤแป Docker giแบฃi quyแบฟt, architecture, Dockerfile, vร cรกch Docker nแบฑm trong quy trรฌnh DevOps / CI-CD thแปฑc tแบฟ.
Docker = ฤรณng gรณi app + dependencies vร o 1 container chแบกy giแปng nhau MแปI Nฦ I. Khรดng cรฒn โtrรชn mรกy tรดi chแบกy ฤฦฐแปฃc!โ
๐ค 1. Docker Lร Gรฌ?
Container Platform
Docker lร nแปn tแบฃng dรนng ฤแป ฤรณng gรณi, chแบกy, vร deploy application. Mแปi thแปฉ app cแบงn (code, dependencies, runtime, config) ฤฦฐแปฃc gรณi vร o 1 container.
Application
+ Dependencies
+ Runtime
+ Config
โโโโโโโโโโโโโ
Docker Container
โ Chแบกy giแปng nhau trรชn mแปi mรดi trฦฐแปng
โ Dev machine = Staging = Production
๐ซ 2. Vแบฅn ฤแป Trฦฐแปc Khi Cรณ Docker
Cร i ฤแบทt Thแปง Cรดng Trรชn OS
Before Docker:
Developer Machine
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Operating System โ
โ โ
โ Node.js v18 โ
โ PostgreSQL 15 โ
โ Redis 7 โ
โ RabbitMQ โ
โ MongoDB 6 โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
Vแบฅn ฤแป:
โโ โ Mแปi dev cร i version khรกc nhau
โโ โ Windows / Mac / Linux khรกc nhau
โโ โ Dependency conflict
โ (App A cแบงn Node 16, App B cแบงn Node 20)
โโ โ Setup mแบฅt hร ng giแป cho dev mแปi
โโ โ "Trรชn mรกy tรดi chแบกy ฤฦฐแปฃc!" ๐คท
Deployment Thแปง Cรดng
Deployment truyแปn thแปng:
Developer
โ
โผ
Application package (.jar / .zip)
+ Setup instructions (README)
โ
โผ
Operations Team
โ
โโ Install Node.js v18.x
โโ Install PostgreSQL
โโ Config environment variables
โโ Setup firewall
โโ Run application
โ
โผ
Vแบฅn ฤแป:
โโ โ Thiแบฟu bฦฐแปc config
โโ โ Version mismatch
โโ โ Dev vs Ops conflict
โโ โ Mแปi server setup khรกc nhau
โ 3. Docker Giแบฃi Quyแบฟt Nhฦฐ Thแบฟ Nร o
ฤรณng Gรณi Service Vร o Container
With Docker:
Developer Machine
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Docker Engine โ
โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โContainer โ โContainer โ โ
โ โ Node.js โ โPostgreSQLโ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โContainer โ โContainer โ โ
โ โ Redis โ โ RabbitMQ โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Developer chแป cแบงn:
docker run postgres
docker run redis
docker run node
โ Mแปi thแปฉ chแบกy trong vร i giรขy
โ Khรดng cแบงn cร i trรชn OS
โ Mแปi dev dรนng CรNG version
Deployment Vแปi Docker
Developer
โ
โผ
Build Docker Image
(code + dependencies + runtime + config)
โ
โผ
Push to Registry
โ
โผ
Server
โ
docker run image
โ
โผ
Container Running โ
โ Ops chแป cแบงn 1 lแปnh
โ Khรดng cแบงn biแบฟt app dรนng gรฌ
โ Mแปi server chแบกy GIแปNG NHAU
๐ฅ๏ธ 4. Virtual Machine vs Docker
Virtual Machine
Hardware
โ
โผ
โโโโโโโโโโโโโโโโ
โ Hypervisor โ
โโโโโโโโฌโโโโโโโโ
โโโโโโผโโโโโ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโ
โVM 1โโVM 2โโVM 3โ
โ โโ โโ โ
โ OS โโ OS โโ OS โ โ Mแปi VM cรณ OS riรชng
โKernโโKernโโKernโ
โApp โโApp โโApp โ
โโโโโโโโโโโโโโโโโโ
Size: GB
Boot: phรบt
Heavy, tแปn RAM
Docker Container
Hardware
โ
โผ
โโโโโโโโโโโโโโโโ
โ Host OS โ
โ Kernel โ โ Share 1 kernel duy nhแบฅt
โโโโโโโโฌโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโ
โDocker Engine โ
โโโโโโโโฌโโโโโโโโ
โโโโโโผโโโโโ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโ
โ C1 โโ C2 โโ C3 โ
โ โโ โโ โ
โLibsโโLibsโโLibsโ โ Chแป cรณ libraries
โApp โโApp โโApp โ โ Khรดng cรณ OS kernel
โโโโโโโโโโโโโโโโโโ
Size: MB
Boot: milliseconds
Lightweight, รญt tแปn RAM
So Sรกnh
| Aspect | Virtual Machine | Docker Container |
|---|---|---|
| Size | GB | MB |
| Boot time | Phรบt | Milliseconds |
| OS | Mแปi VM cรณ OS riรชng | Share kernel host |
| Resource | Tแปn nhiแปu RAM/CPU | Lightweight |
| Isolation | Hoร n toร n (OS level) | Process level |
| Use case | Cแบงn OS riรชng biแปt | Application delivery |
Key insight: Docker khรดng thay thแบฟ VM. Docker cho application packaging, VM cho OS-level isolation.
๐๏ธ 5. Docker Architecture
3 Thร nh Phแบงn Chรญnh
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Docker Architecture โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ 1๏ธโฃ Docker CLI โ
โ Tool dรฒng lแปnh (docker run, build, ...) โ
โ โ
โ 2๏ธโฃ Docker Engine (Daemon) โ
โ Quแบฃn lรฝ containers, images, networking โ
โ โ
โ 3๏ธโฃ Docker Registry โ
โ Nฦกi lฦฐu trแปฏ images (Docker Hub, ECR) โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Developer
โ
โผ
Docker CLI (commands)
โ
โผ
Docker Engine (daemon)
โ
โโโโบ Manage Images
โโโโบ Manage Containers
โโโโบ Manage Networks
โโโโบ Manage Volumes
๐ฆ 6. Docker Image vs Container
Image = Template (Blueprint)
Docker Image:
โโโโโโโโโโโโโโโโโโโโ
โ Application โ
โ Dependencies โ
โ Runtime โ
โ Config โ
โ โ
โ READ-ONLY โ
โ Khรดng thay ฤแปi โ
โโโโโโโโโโโโโโโโโโโโ
Vรญ dแปฅ images:
โโ nginx
โโ node
โโ postgres
โโ redis
โโ mongodb
Container = Running Instance
Docker Image
โ
โ docker run
โผ
โโโโโโโโโโโโโโโโโโโโโ
โ Container โ
โ โ
โ Running App โ
โ Has own state โ
โ Has own network โ
โ Has own filesystemโ
โ โ
โ READ-WRITE โ
โโโโโโโโโโโโโโโโโโโโโ
Mแปt Image โ Nhiแปu Containers
nginx image
โ
โโโโโโโโโผโโโโโโโโ
โผ โผ โผ
Container1 Container2 Container3
(port 80) (port 81) (port 82)
Mแปi container chแบกy ฤแปC LแบฌP
Tแปซ CรNG 1 image
Analogy: Image = class, Container = object instance.
๐ช 7. Docker Registry & Docker Hub
Registry = Nฦกi Lฦฐu Image
Developer Server
โ โ
โ docker push โ docker pull
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Docker Registry โ
โ โ
โ Docker Hub (public) โ
โ AWS ECR (private) โ
โ Google Artifact Registry (private) โ
โ GitHub Container Registry โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Docker Hub โ Public Registry Lแปn Nhแบฅt
Docker Hub
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ Repository: nginx โ
โ โโ nginx:1.25 โ
โ โโ nginx:1.24 โ
โ โโ nginx:latest โ
โ โ
โ Repository: node โ
โ โโ node:20-alpine โ
โ โโ node:18-alpine โ
โ โโ node:latest โ
โ โ
โ Repository: postgres โ
โ โโ postgres:16 โ
โ โโ postgres:15 โ
โ โโ postgres:latest โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Image Naming Convention
registry/repository:tag
Vรญ dแปฅ:
โโ nginx:1.25 (Docker Hub, official)
โโ mycompany/webapp:v2.1 (Docker Hub, custom)
โโ 123456.dkr.ecr.us-east-1.amazonaws.com/myapp:latest (AWS ECR)
โโ ghcr.io/user/app:main (GitHub Registry)
๐ง 8. Docker Commands Quan Trแปng
Workflow Cฦก Bแบฃn
docker pull โ Tแบฃi image tแปซ registry
โ
โผ
docker images โ Xem danh sรกch images
โ
โผ
docker run โ Tแบกo & chแบกy container
โ
โผ
docker ps โ Xem containers ฤang chแบกy
โ
โผ
docker logs โ Xem logs container
โ
โผ
docker stop โ Dแปซng container
โ
โผ
docker start โ Chแบกy lแบกi container ฤรฃ dแปซng
Cรกc Lแปnh Hay Dรนng
Image Commands:
โโ docker pull nginx:1.25 โ Tแบฃi image
โโ docker images โ List images
โโ docker rmi nginx:1.25 โ Xรณa image
โโ docker build -t myapp:1.0 . โ Build image tแปซ Dockerfile
Container Commands:
โโ docker run nginx โ Chแบกy container
โโ docker run -d nginx โ Chแบกy background (detached)
โโ docker run --name web nginx โ ฤแบทt tรชn container
โโ docker ps โ List containers ฤang chแบกy
โโ docker ps -a โ List TแบคT Cแบข containers
โโ docker stop <id> โ Dแปซng container
โโ docker start <id> โ Chแบกy lแบกi
โโ docker logs <id> โ Xem logs
โโ docker exec -it <id> sh โ SSH vร o container
โโ docker rm <id> โ Xรณa container
๐ 9. Port Binding
Container chแบกy trong Docker network riรชng โ browser khรดng truy cแบญp ฤฦฐแปฃc trแปฑc tiแบฟp.
Vแบฅn ฤแป
Without Port Binding:
Browser (localhost:80)
โ
โ Khรดng truy cแบญp ฤฦฐแปฃc!
โ
Container (port 80)
(isolated network)
Giแบฃi Phรกp: Port Binding
With Port Binding:
Browser
localhost:9000
โ
โผ
Docker Host
Port 9000
โ
โ mapped to
โผ
Container
Port 80
Command: docker run -p 9000:80 nginx
โโโโโโโโโ
host:container
Vรญ dแปฅ chแบกy nhiแปu containers:
localhost:3000 โโโบ Container A (Node.js, port 3000)
localhost:5432 โโโบ Container B (Postgres, port 5432)
localhost:6379 โโโบ Container C (Redis, port 6379)
docker run -p 3000:3000 node-app
docker run -p 5432:5432 postgres
docker run -p 6379:6379 redis
Format:
-p HOST_PORT:CONTAINER_PORT
๐ 10. Dockerfile โ Build Custom Image
Dockerfile Lร Gรฌ?
Dockerfile = file chแปฉa instructions ฤแป build Docker image tแปซ code cแปงa bแบกn.
Flow
Application Code (src/)
+ package.json
+ Dockerfile
โ
โผ
docker build -t myapp:1.0 .
โ
โผ
Docker Image (myapp:1.0)
โ
โผ
docker run -p 3000:3000 myapp:1.0
โ
โผ
Container Running โ
Vรญ Dแปฅ Dockerfile (Node.js)
FROM node:19-alpine โ Base image (Node.js trรชn Alpine Linux)
WORKDIR /app โ Thฦฐ mแปฅc lร m viแปc trong container
COPY package.json . โ Copy package.json trฦฐแปc (cache layer)
RUN npm install โ Install dependencies
COPY src/ ./src โ Copy source code
EXPOSE 3000 โ Document port (khรดng tแปฑ bind)
CMD ["node", "src/server.js"] โ Lแปnh chแบกy khi container start
Dockerfile Instructions
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Dockerfile Instructions โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ FROM โ Base image โ
โ WORKDIR โ Set working directory โ
โ COPY โ Copy files vร o image โ
โ RUN โ Chแบกy command khi build โ
โ EXPOSE โ Document port โ
โ ENV โ Set environment variable โ
โ CMD โ Command chแบกy khi start โ
โ ENTRYPOINT โ Fixed command (override khรณ) โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Layer Caching (Tแปi ฦฏu Build)
Dockerfile layers (mแปi instruction = 1 layer):
FROM node:19-alpine โ Layer 1 (cached)
WORKDIR /app โ Layer 2 (cached)
COPY package.json . โ Layer 3 (cached nแบฟu khรดng ฤแปi)
RUN npm install โ Layer 4 (cached nแบฟu package.json khรดng ฤแปi)
COPY src/ ./src โ Layer 5 (rebuild khi code thay ฤแปi)
Tip: COPY package.json TRฦฏแปC, COPY src/ SAU
โ npm install ฤฦฐแปฃc cache khi chแป ฤแปi code
โ Build nhanh hฦกn nhiแปu
๐ 11. Container Lifecycle
Container Lifecycle:
Created
โ
โ docker start
โผ
Running โโโโโโโโโโ
โ โ
โ docker โ docker restart
โ stop โ
โผ โ
Stopped โโโโโโโโโโ
โ
โ docker rm
โผ
Deleted
Cรกc lแปnh lifecycle:
docker create <image> โ Tแบกo container (chฦฐa chแบกy)
docker start <id> โ Chแบกy container
docker stop <id> โ Dแปซng container (graceful)
docker kill <id> โ Dแปซng ngay lแบญp tแปฉc (force)
docker restart <id> โ Restart
docker rm <id> โ Xรณa container
docker rm -f <id> โ Force xรณa (kแป cแบฃ ฤang chแบกy)
๐ 12. Docker Trong Software Development Lifecycle
Docker Nแบฑm แป ฤรขu?
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Software Development Lifecycle โ
โ โ
โ 1. DEVELOPMENT โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Developer Laptop โ โ
โ โ โ โ
โ โ docker run postgres โ โ
โ โ docker run redis โ โ
โ โ Code + Test locally โ โ
โ โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ โ
โ โ โ
โ 2. CI/CD โ โ
โ โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโ โ
โ โ Git Push โ โ
โ โ โ โ โ
โ โ CI Pipeline โ โ
โ โ โโ Run tests โ โ
โ โ โโ docker build โ โ
โ โ โโ docker push (to registry)โ โ
โ โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ โ
โ โ โ
โ 3. DEPLOYMENT โ โ
โ โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโ โ
โ โ Server / Kubernetes โ โ
โ โ โ โ โ
โ โ docker pull โ โ
โ โ docker run โ โ
โ โ โ โ โ
โ โ Application Running โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
CI/CD Pipeline Chi Tiแบฟt
Developer
โ
โผ
Git Push (GitHub / GitLab)
โ
โผ
CI/CD Pipeline (GitHub Actions / Jenkins)
โ
โโโ Step 1: Checkout code
โ
โโโ Step 2: Run tests
โ
โโโ Step 3: docker build -t myapp:v2.1 .
โ
โโโ Step 4: docker push registry/myapp:v2.1
โ
โโโ Step 5: Deploy to server/K8s
โ
โผ
docker pull registry/myapp:v2.1
โ
โผ
docker run myapp:v2.1
โ
โผ
Application Running โ
๐ 13. Real World Example โ Web App + MongoDB
Development Flow
Developer Laptop
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ docker run mongo โ โ Database
โ docker run redis โ โ Cache
โ โ
โ node src/server.js โ โ App (hoแบทc cลฉng docker)
โ โ
โ Code โ Test โ Repeat โ
โ โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โผ
Git Push
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ CI/CD Pipeline โ
โ โ
โ Run tests โ
โ docker build -t webapp:v2 โ
โ docker push ecr/webapp:v2 โ
โ โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Production Server โ
โ โ
โ docker pull ecr/webapp:v2 โ
โ docker run webapp:v2 โ
โ docker run mongo โ
โ docker run redis โ
โ โ
โ Application Live โ
โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ณ + โธ๏ธ 14. Docker + Kubernetes โ Big Picture
Docker Tแบกo, Kubernetes Quแบฃn Lรฝ
Developer
โ
โผ
Write Code + Dockerfile
โ
โผ
docker build -t myapp:v2
โ
โผ
docker push registry/myapp:v2
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Docker Registry โ
โ (Docker Hub / AWS ECR) โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Kubernetes โ
โ โ
โ Pull image from registry โ
โ โ โ
โ โโโโโโผโโโโโ โ
โ โผ โผ โผ โ
โ Pod1 Pod2 Pod3 โ
โ (v2) (v2) (v2) โ
โ โ
โ K8s handles: โ
โ โโ Scaling โ
โ โโ Self-healing โ
โ โโ Load balancing โ
โ โโ Rolling updates โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Vai trรฒ:
Docker โ BUILD & PACKAGE (tแบกo image)
Registry โ STORE (lฦฐu image)
Kubernetes โ RUN & MANAGE (chแบกy & quแบฃn lรฝ containers)
Docker KHรNG quแบฃn lรฝ 100+ containers
Kubernetes LรM viแปc ฤรณ
๐ 15. Docker Compose โ Chแบกy Nhiแปu Containers
Khi Cแบงn Nhiแปu Services Cรนng Lรบc
Thay vรฌ chแบกy tแปซng lแปnh:
docker run -p 3000:3000 webapp
docker run -p 5432:5432 postgres
docker run -p 6379:6379 redis
Dรนng Docker Compose:
docker-compose up
โ Chแบกy TแบคT Cแบข services cรนng lรบc
โ Define trong 1 file docker-compose.yml
docker-compose.yml
version: '3.8'
services:
webapp:
build: .
ports:
- "3000:3000"
depends_on:
- database
- cache
database:
image: postgres:16
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: secret
cache:
image: redis:7
ports:
- "6379:6379"
docker-compose up
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Docker Compose Network โ
โ โ
โ โโโโโโโโโโ โโโโโโโโโโ โ
โ โwebapp โ โpostgresโ โ
โ โ:3000 โ โ:5432 โ โ
โ โโโโโฌโโโโโ โโโโโโโโโโ โ
โ โ โ
โ โ โโโโโโโโโโ โ
โ โโโโโโโบโ redis โ โ
โ โ:6379 โ โ
โ โโโโโโโโโโ โ
โ โ
โ Services tแปฑ tรฌm thแบฅy โ
โ nhau qua tรชn service โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐บ๏ธ 16. Tแปng Hแปฃp โ Docker Ecosystem
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DOCKER ECOSYSTEM โ
โ โ
โ DEVELOPMENT โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Dockerfile โ Build instructions โ โ
โ โ docker build โ Create image โ โ
โ โ docker run โ Run container โ โ
โ โ Compose โ Multi-container setup โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ REGISTRY โ โ
โ โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Docker Hub โ Public images โ โ
โ โ AWS ECR โ Private images โ โ
โ โ docker push โ Upload image โ โ
โ โ docker pull โ Download image โ โ
โ โโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ PRODUCTION โ โ
โ โโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Kubernetes โ Orchestrate containers โ โ
โ โ Docker Swarm โ Simple orchestration โ โ
โ โ AWS ECS โ Managed containers โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ฏ 17. Checklist Tแปฑ ฤรกnh Giรก
Fundamentals
- Hiแปu Docker giแบฃi quyแบฟt vแบฅn ฤแป gรฌ?
- Phรขn biแปt Docker Image vs Container?
- Biแบฟt Docker vs Virtual Machine khรกc gรฌ?
Commands
- Biแบฟt docker pull, run, ps, stop, logs?
- Hiแปu port binding (-p HOST:CONTAINER)?
- Biแบฟt docker exec ฤแป SSH vร o container?
Dockerfile
- Viแบฟt ฤฦฐแปฃc Dockerfile cho app ฤฦกn giแบฃn?
- Hiแปu layer caching (COPY package.json trฦฐแปc)?
- Biแบฟt FROM, WORKDIR, COPY, RUN, CMD?
Registry & Workflow
- Hiแปu Docker Hub vร private registry?
- Biแบฟt docker push/pull workflow?
- Hiแปu Docker nแบฑm แป ฤรขu trong CI/CD pipeline?
Advanced
- Biแบฟt Docker Compose chแบกy nhiแปu containers?
- Hiแปu Docker + Kubernetes relationship?
๐ก Tแปng Kแบฟt
Docker Core Concepts:
1๏ธโฃ Image โ Template (blueprint) cแปงa container
2๏ธโฃ Container โ Running instance cแปงa image
3๏ธโฃ Dockerfile โ Instructions ฤแป build image
4๏ธโฃ Registry โ Nฦกi lฦฐu trแปฏ images
5๏ธโฃ Port Bind โ Expose container ra host
6๏ธโฃ Compose โ Chแบกy multi-container
7๏ธโฃ CLI โ Tool quแบฃn lรฝ Docker
Docker trong DevOps Pipeline:
Code โ Dockerfile โ Build Image โ Push Registry
โ
โผ
Server / Kubernetes pull & run
Interview Priority:
โญโญโญ Image vs Container (core concept)
โญโญโญ Dockerfile (build custom image)
โญโญโญ Docker + CI/CD pipeline
โญโญ Docker vs VM
โญโญ Port binding & networking
โญโญ Docker Compose
โญ Docker + Kubernetes relationship
โDocker doesnโt solve all problems. But it solves the โit works on my machineโ problem โ and thatโs a big one.โ
๐ Tร i Liแปu Tham Khแบฃo
- Free: Docker Official Getting Started
- Free: Docker Curriculum
- Video: Docker Crash Course โ TechWorld with Nana
- Tool: Docker Desktop
- Tool: Docker Hub โ Browse official images
- Practice: Play with Docker โ Docker playground miแป n phรญ
Bร i liรชn quan:
- Kubernetes Crash Course โ Architecture, Pods, Services & Deployment โ K8s quแบฃn lรฝ containers แป quy mรด lแปn.
- Cloud Computing Fundamentals โ Scaling, Load Balancing, Serverless โ 11 concepts Cloud cฦก bแบฃn.