Learning Hub
DevOps & Hạ tầng

Docker từ image đến container đang chạy

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

Container image là package bất biến gồm filesystem layer và metadata; container là instance đang chạy với writable layer, process, network và resource đã cấu hình.

Container image là package bất biến gồm filesystem layer và metadata; container là instance đang chạy với writable layer, process, network và resource đã cấu hình.

Nhìn nhanh

Câu hỏi Câu trả lời thực tế
Dùng khi nào? Một web image có thể chạy thành container development và production khác nhau về environment nhưng dùng chung application byte.
Cần làm gì? Build HTTP image nhỏ, inspect layer, run với port rõ và config read-only rồi stop và remove đúng test container.
Biết là đúng bằng cách nào? Service trả response ở mapped port, image digest được biết, log ra standard output và container mới có hành vi giống nhau.
Lỗi hay gặp? Container là process isolation chứ không phải security boundary hoàn chỉnh; dùng minimal image, non-root user, scanning và privilege hạn chế.
flowchart LR
  A[Câu hỏi] --> B[Docker từ image đến container đang chạy]
  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

Một web image có thể chạy thành container development và production khác nhau về environment nhưng dùng chung application byte.

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 Docker từ image đến container đang chạy, 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: Build HTTP image nhỏ, inspect layer, run với port rõ và config read-only rồi stop và remove đúng test 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: Service trả response ở mapped port, image digest được biết, log ra standard output và container mới có hành vi giống nhau.

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

Container là process isolation chứ không phải security boundary hoàn chỉnh; dùng minimal image, non-root user, scanning và privilege hạn chế.

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.