RobustX / Chương trình học / Vị trí công việc / DevOps Engineer / Container Hoá Và Quản Lý Ứng Dụng

Container hoá và Quản lý Ứng dụng (Containerization Fundamentals)

Container hoá là công nghệ cốt lõi trong DevOps hiện đại. Khóa học này giúp học viên hiểu rõ cách container hoạt động, cách đóng gói ứng dụng, xây dựng image, cấu hình network, lưu trữ, bảo mật, tối ưu hóa kích thước image, và quản lý ứng dụng container hóa trong môi trường thực tế. Đây là bước đệm quan trọng để đi sâu vào Kubernetes, Cloud Container Service hoặc CI/CD production.

Thời lượng: 18h

Bạn đạt được gì sau khi hoàn thành khóa học

Đối tượng tham gia

Yêu cầu tiên quyết

  • Biết sử dụng Linux, Git, Python hoặc Bash cơ bản 
  • Biết cơ bản về CI/CD, cấu trúc ứng dụng web/backend 
  • Biết mô hình client-server và port/network cơ bản

Nội dung khóa học

1. Tổng quan về container
  • Container là gì? So sánh VM vs Container 
  • Lịch sử: từ chroot → cgroups → Docker 
  • Tại sao container hóa lại là xu hướng? 
  • Các engine: Docker, containerd, Podman, LXC 
  • Cơ chế cách ly: Namespace, Cgroup
2. Cài đặt và làm việc với Docker
  • Cài Docker trên Linux, Windows 
  • Kiến trúc Docker: Docker daemon, CLI, registry 
  • docker run, docker ps, docker stop, docker rm 
  • Pull image từ Docker Hub 
  • Chạy container foreground & background (-d) 
  • Expose port: -p, -P, hiểu rõ NAT mapping
3. Docker Image: Build & Customize
  • Image là gì? Layer và caching cơ chế build 
  • Viết Dockerfile: 
    • FROM, RUN, COPY, CMD, ENTRYPOINT, WORKDIR, ENV 
    • Healthcheck, Label, ARG vs ENV 
  • Multi-stage build: giảm kích thước image 
  • docker build, docker history, docker image inspect 
  • Tối ưu Dockerfile: cache layer, không để file rác 
  • Đẩy image lên Docker Hub: docker tag, docker push
4. Quản lý container nâng cao
  • Quản lý log: docker logs, redirect stdout/stderr 
  • Exec & debug: docker exec -it, docker attach 
  • Kiểm tra tài nguyên: docker stats, limit CPU/memory 
  • Restart policy: always, on-failure, unless-stopped 
  • Quản lý biến môi trường: –env, .env file
5. Mạng, Volume và Bảo mật
  • Mạng: 
    • Các chế độ: bridge, host, none 
    • Tạo custom network, container giao tiếp với nhau 
    • DNS trong container, alias, name resolution 
  • Volume: 
    • Tạo volume, bind mount, anonymous volume 
    • Dữ liệu persistent giữa các container 
    • Backup volume bằng tar, mount volume chia sẻ 
  • Bảo mật: 
    • User trong container (USER trong Dockerfile) 
    • Giới hạn quyền: read-only, –cap-drop, –security-opt
    • Scan image với docker scan hoặc Trivy (giới thiệu)
6. Docker Compose & Ứng dụng thực tế
  • Lý do cần Compose: multi-container app 
  • Cấu trúc file docker-compose.yml 
    • services, volumes, networks, build context 
    • env_file, depends_on, restart policy 
  • Chạy app với nhiều container: Web + DB + Cache 
  • Debug dịch vụ với logs, exec, ps 
  • Triển khai ứng dụng Python Flask hoặc Node.js 
  • Liên hệ CI/CD: dùng container trong Jenkins runner, GitHub Actions
6. Bài thực hành tổng hợP

Mini Project: Triển khai ứng dụng container hóa

Mục tiêu:

  • Container hóa ứng dụng web/backend + database 
  • Quản lý bằng Docker Compose 
  • Đóng gói thành image tối ưu và đẩy lên registry 

Yêu cầu:

  1. Clone project Python Flask hoặc Node.js đơn giản (REST API) 
  2. Viết Dockerfile chuẩn cho ứng dụng 
  3. Tạo docker-compose.yml: 
    • App + PostgreSQL hoặc Redis 
    • Cấu hình env, volume cho database 
  4. Đăng ký Docker Hub và push image 
  5. Mở cổng public, kiểm tra API bên ngoài 
  6. Bonus: viết shell script tự động deploy từ Git clone → build → run

Bài viết liên quan