Learning Hub
DevOps & Hạ tầng

Dự án thực hành Dockerfile và Compose

6 phút đọc·Cập nhật 2026-09-09

Dockerfile định nghĩa một image tái hiện được; Compose định nghĩa cách nhiều container, network, volume, health check và environment chạy cùng nhau cho dev hoặc test stack.

Dockerfile định nghĩa một image tái hiện được; Compose định nghĩa cách nhiều container, network, volume, health check và environment chạy cùng nhau cho dev hoặc test stack.

Nhìn nhanh

Câu hỏi Câu trả lời thực tế
Dùng khi nào? Notes app dùng multi-stage Dockerfile cho web image và Compose chạy cạnh database có named volume cùng health-dependent startup.
Cần làm gì? Containerize sample hai service, thêm health check, rebuild sau code change và verify database data còn sau khi recreate container.
Biết là đúng bằng cách nào? Máy sạch start stack được từ command đã document, service thành healthy, secret không bị bake vào image và stop/restart dự đoán được.
Lỗi hay gặp? Không coi thứ tự start của Compose là readiness; cần health check thật và application retry.
flowchart LR
  A[Câu hỏi] --> B[Dự án thực hành Dockerfile và Compose]
  B --> C[Ví dụ nhỏ]
  C --> D[Bằng chứng]

Điểm quan trọng của sơ đồ là không dừng ở định nghĩa: hãy nối khái niệm với một ví dụ nhỏ và bằng chứng có thể quan sát.

Ví dụ đã phân tích

Notes app dùng multi-stage Dockerfile cho web image và Compose chạy cạnh database có named volume cùng health-dependent startup.

Trước khi làm, hãy viết dấu hiệu thành công. Sau đó chỉ thay đổi một yếu tố, quan sát kết quả và ghi lại assumption. Với Dự án thực hành Dockerfile và Compose, cách này giúp tách điều bạn biết khỏi điều bạn chỉ đang đoán.

Thực hành trong 20–30 phút

Mục tiêu: Containerize sample hai service, thêm health check, rebuild sau code change và verify database data còn sau khi recreate container.

  1. Ghi lại trạng thái ban đầu và điều bạn dự đoán.
  2. Thực hiện phiên bản nhỏ nhất, không thêm công cụ chưa cần thiết.
  3. Thay đổi đúng một input hoặc constraint rồi chạy lại.
  4. Lưu command, screenshot, output hoặc checklist làm bằng chứng.

Kết quả mong đợi: Máy sạch start stack được từ command đã document, service thành healthy, secret không bị bake vào image và stop/restart dự đoán được.

Sai ở đâu và sửa thế nào

Không coi thứ tự start của Compose là readiness; cần health check thật và application retry.

Khi kết quả khác dự đoán, đừng đổi nhiều thứ cùng lúc. Kiểm tra input, version, environment, quyền truy cập và log trước; sau đó lặp lại từ ví dụ nhỏ nhất.

Định nghĩa hoàn thành

  • Tôi giải thích được khái niệm bằng ngôn ngữ của mình.
  • Tôi đã hoàn thành ví dụ nhỏ và giữ bằng chứng.
  • Tôi biết một failure mode và cách kiểm tra nó.
  • Người khác có thể làm lại mà không phải đoán bước còn thiếu.

Đi sâu hơn

Mở resource hoặc repository đi kèm ở cuối trang khi bạn cần implementation đầy đủ. Hãy kiểm tra version hiện hành trước khi dùng command trong dự án thật.