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.
| 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.
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.
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.
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.
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.
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.
Tự động hóa kiểm thử và triển khai bằng workflow GitHub Actions.
Hiểu DevOps như một vòng phản hồi, rồi thực hành công cụ theo thứ tự chúng trở nên hữu ích.
DevOps là cách delivery và operation dựa trên feedback, không phải job title hay một bộ tool. Product, development, security và operations cùng chịu trách nhiệm từ planning đến học hỏi ở production.