0

Docker & Docker Compose: Series 3 phần dành cho người mới bắt đầu

Chia sẻ
  • 6 0
 Xuất bản Thứ Sáu, 8:18 SA 6 0 0 3
  • 6 0

Vì sao lại là series này???

"It works on my machine" — chắc hẳn ai cũng từng nghe (hoặc từng nói) câu này ít nhất một lần. Cùng một đoạn code, nhưng chạy khác nhau giữa máy dev, môi trường test và production. Docker sinh ra để giải quyết đúng vấn đề đó: đóng gói ứng dụng cùng mọi thứ nó cần để chạy vào một image duy nhất, chạy giống hệt nhau ở bất kỳ đâu.

Series này viết cho những bạn đã nghe qua Docker, biết gõ vài lệnh docker run, nhưng vẫn còn mơ hồ về cách nó hoạt động bên trong — vì sao container khởi động nhanh hơn VM, image và container khác nhau ở đâu, vì sao có lúc build lại chậm bất thường, hay Compose thực chất đang làm gì phía sau lệnh up.

Mục tiêu không phải là liệt kê cheatsheet câu lệnh (cái đó tra Google lúc nào cũng được), mà là xây mental model đúng ngay từ đầu — thứ sẽ giúp bạn tự suy luận ra cách xử lý khi gặp tình huống mới, thay vì chỉ nhớ máy móc.

Series gồm 3 phần

Phần 1: Vì sao Docker ra đời, và nó hoạt động như thế nào bên trong Vấn đề mà Docker giải quyết, khác biệt giữa Virtual Machine và Docker, kiến trúc Docker (Client – Daemon – Registry), và cặp khái niệm quan trọng nhất: Image vs Container.

Phần 2: Image Layers, Build Cache, Dockerfile và những lỗi thường gặp Image được cấu tạo từ nhiều layer như thế nào, vì sao thứ tự dòng lệnh trong Dockerfile quyết định build nhanh hay chậm, các instruction cốt lõi, RUN vs CMD, và hai chủ đề hay bị hiểu lầm: Volumes và Networking.

Phần 3: Docker Compose, Best Practices, và bức tranh tổng thể Vì sao cần Docker Compose khi ứng dụng có nhiều container, cấu trúc file docker-compose.yml, 5 best practice quan trọng nhất khi viết Dockerfile, và tổng kết lại toàn bộ mental model của series.

Đọc theo thứ tự nào

Ba phần được thiết kế nối tiếp nhau — Phần 2 và 3 sẽ dùng lại khái niệm đã xây ở phần trước, nên khuyến khích đọc lần lượt từ Phần 1. Nếu đã nắm chắc phần nền tảng (Image, Container, Layer), có thể nhảy thẳng tới phần đang cần.

Series không yêu cầu biết trước gì về Docker, chỉ cần quen thuộc với dòng lệnh (terminal) cơ bản.

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí