
Docker āđāļĨāļ° Containerization
Dockerfile āļŠāļģāļŦāļĢāļąāļ Node.js/NestJS, docker-compose (Node + DB + Redis), multi-stage builds, āļāļēāļĢāļāļĢāļąāļāđāļāđāļ image, .dockerignore, volumes, networks, āļāļ·āđāļāļāļēāļāļāļēāļĢ orchestrate container
1Docker āļāļ·āļāļāļ°āđāļĢ?
Docker āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
Docker āļāļ·āļāđāļāļĨāļāļāļāļĢāđāļĄ containerization āļāļĩāđāļāļĢāļĢāļāļļāđāļāļāļāļĨāļīāđāļāļāļąāļāđāļĨāļ° dependency āļāļāļāļĄāļąāļāļĨāļāđāļ container āļāļĩāđāđāļĒāļāļāļāļāļāļēāļāļāļąāļ āļāđāļēāļāļāļēāļāđāļāļĢāļ·āđāļāļāđāļŠāļĄāļ·āļāļāļāļĩāđāļāļģāļĨāļāļ hardware āļāļąāđāļāļŦāļĄāļ Docker āļāļ°āđāļāļĢāđ kernel āļāļāļ OS host āļāļģāđāļŦāđāļĄāļąāļāđāļāļēāđāļĨāļ°āđāļĢāđāļ§ āļāļēāļĢāđāļāđ Docker āļĢāļąāļāļāļĢāļ°āļāļąāļāļ§āđāļēāđāļāļāļāļĨāļīāđāļāļāļąāļāļāļģāļāļēāļāđāļŦāļĄāļ·āļāļāļāļąāļāļāļąāđāļāđāļ development, staging āđāļĨāļ° production
2āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļŦāļĨāļąāļāļĢāļ°āļŦāļ§āđāļēāļ Docker container āļāļąāļāđāļāļĢāļ·āđāļāļāđāļŠāļĄāļ·āļāļāļāļ·āļāļāļ°āđāļĢ?
āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļŦāļĨāļąāļāļĢāļ°āļŦāļ§āđāļēāļ Docker container āļāļąāļāđāļāļĢāļ·āđāļāļāđāļŠāļĄāļ·āļāļāļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
Docker container āđāļāļĢāđ kernel āļāļāļ OS host āđāļĨāļ°āļāļģāļĨāļāļāđāļāļāļēāļ° user space āđāļāđāļēāļāļąāđāļ āļāļģāđāļŦāđāļĄāļąāļāđāļāļēāļĄāļēāļ (āđāļĄāđāļāļĩāđ MB) āđāļĨāļ°āđāļĢāļīāđāļĄāļāļģāļāļēāļāđāļāđāļĄāđāļāļĩāđāļ§āļīāļāļēāļāļĩ āļŠāđāļ§āļ VM āļāļģāļĨāļāļ hardware āļāļąāđāļāļŦāļĄāļāđāļĨāļ°āļĢāļ§āļĄ OS āđāļāđāļĄāļĢāļđāļāđāļāļ (āļŦāļĨāļēāļĒ GB) āđāļāđāđāļ§āļĨāļēāđāļĢāļīāđāļĄāļāļģāļāļēāļāđāļāđāļāļāļēāļāļĩ āļāļąāļāļāļąāđāļ container āļāļķāļāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļĄāļēāļāļāļ§āđāļēāļŠāļģāļŦāļĢāļąāļ microservices āđāļĨāļ° CI/CD
3Dockerfile āļĄāļĩāļāļāļāļēāļāļāļ°āđāļĢ?
Dockerfile āļĄāļĩāļāļāļāļēāļāļāļ°āđāļĢ?
āļāļģāļāļāļ
Dockerfile āļāļ·āļāđāļāļĨāđāļāđāļāļāļ§āļēāļĄāļāļĩāđāļĄāļĩāļāļģāļŠāļąāđāļāļŠāļģāļŦāļĢāļąāļ build Docker image āđāļāđāļĨāļ°āļāļģāļŠāļąāđāļ (FROM, COPY, RUN, CMD) āļāļ°āļŠāļĢāđāļēāļ layer āđāļ image āļĄāļąāļāļāļģāļŦāļāļāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄ runtime, dependency āđāļĨāļ°āļāļģāļŠāļąāđāļāđāļĢāļīāđāļĄāļāđāļ Dockerfile āļāļĩāđāļāļĢāļąāļāđāļāđāļāļāļĩāļāļ°āđāļāđ layer caching āđāļĨāļ° multi-stage builds āđāļāļ·āđāļāļĨāļāļāļāļēāļ image āļŠāļļāļāļāđāļēāļĒ
āļāļģāļŠāļąāđāļ Dockerfile āđāļāļāļĩāđāļāļģāļŦāļāļ base image?
āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļ CMD āļāļąāļ ENTRYPOINT āđāļ Dockerfile āļāļ·āļāļāļ°āđāļĢ?
+22 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ
āļŦāļąāļ§āļāđāļāļŠāļąāļĄāļ āļēāļĐāļāđ Node.js / NestJS āļāļ·āđāļāđ
āļāļ·āđāļāļāļēāļ Node.js
Core API āļāļāļ Node.js
āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļ°āļāļīāļāđāļāļĢāļāļąāļŠ
āļāļ·āđāļāļāļēāļ Express.js
āļāļ·āđāļāļāļēāļ NestJS
āļāļēāļĢāļāļāļāđāļāļ REST API
āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāđāļāļāđāļĨāļ° DTO
āđāļāļāļŠāļēāļĢ API āđāļĨāļ° Contract
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļāļīāļāļāļĨāļēāļ
āļāļēāļĢāļāļāļŠāļāļāļŦāļāđāļ§āļĒ (Unit Testing)
āļāļēāļĢāļāļąāļāļāļēāļĢāļēāļāļāļēāļ
Module āđāļĨāļ° DI āļāļāļ NestJS
āļāļēāļĢāļāļģāļŦāļāļāļāđāļēāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄ
āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒ JWT
āļāļēāļĢāđāļŦāđāļŠāļīāļāļāļīāđāđāļĨāļ° RBAC
āļāļēāļāļāđāļāļĄāļđāļĨāļāđāļ§āļĒ TypeORM
Prisma ORM
Middleware āđāļĨāļ° Interceptor
āļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ
WebSockets
GraphQL āļāļąāļ NestJS
āļāļēāļĢāļāļāļŠāļāļāđāļāļ End-to-End
āļāļēāļĢāđāļāļāļāđāļ§āļĒ Redis
āļāļīāļ§āļāđāļ§āļĒ Bull
DevOps, Logging āđāļĨāļ° CI/CD
āđāļĄāđāļāļĢāđāļāļāļĢāđāļ§āļīāļŠ
āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļāļāđāļēāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒ
āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāļēāļĢ Deploy āļāļ Cloud
āđāļāļĩāđāļĒāļ§āļāļēāļ Node.js / NestJS āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļąāđāļāļāļąāļāđāļ
āđāļāđāļēāļāļķāļāļāļģāļāļēāļĄāļāļąāđāļāļŦāļĄāļ flashcards āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļ āđāļāļāļāļķāļāļŦāļąāļ code review āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ