Blog
Thoughts on engineering, design, and building great products.
Mạng trong Docker: Bridge, veth và Port Mapping
Cách container kết nối với nhau và với bên ngoài: các network driver, bridge mặc định và cơ chế veth, port publishing, và vì sao user-defined network cho phép gọi nhau bằng tên còn bridge mặc định thì không.
Docker Compose: Chạy Ứng Dụng Nhiều Container
Khai báo cả một ứng dụng nhiều thành phần (web, database, cache) trong một file rồi chạy bằng một lệnh. Hiểu compose file, mạng tự tạo cho các service gọi nhau bằng tên, và vòng đời up/down.
Tối Ưu Image: Multi-Stage Build và Bảo Mật
Image to làm chậm deploy và tăng bề mặt tấn công. Bài này thu nhỏ image bằng multi-stage build (ví dụ thật: 301MB xuống 15.4MB), chọn base image gọn, chạy non-root, và không nhúng secret.
Docker Swarm: Kiến Trúc Cluster và Raft
Bước sang điều phối nhiều máy: Swarm gom nhiều Docker host thành một cụm với manager và worker. Hiểu mô hình desired-state, cơ chế đồng thuận Raft và vì sao nên có số manager lẻ. Kèm khởi tạo cụm và cách giả lập nhiều node để học.
Swarm: Service, Scale và Rolling Update
Trên cụm Swarm, bạn không chạy container lẻ mà khai báo service. Bài này tạo service nhiều bản (replicas), scale lên xuống, cập nhật phiên bản không gián đoạn (rolling update), và xem cách Swarm tự phục hồi.
Swarm: Overlay Network và Routing Mesh
Container nằm trên các node khác nhau nói chuyện với nhau thế nào, và vì sao publish một cổng lại vào được từ bất kỳ node nào? Bài này giải thích overlay network (VXLAN), service discovery qua VIP, và routing mesh.
Swarm: Stack và Secrets — Triển Khai Hoàn Chỉnh
Bài cuối: triển khai cả một ứng dụng nhiều service lên cụm bằng docker stack deploy từ một compose file, quản lý mật khẩu an toàn bằng secrets, rồi dọn dẹp toàn bộ và rời swarm. Kèm tổng kết series.