14 part series

Docker Từ Cơ Bản đến Swarm

Học Docker từ đầu: container, image, Dockerfile, volume, mạng, Docker Compose, rồi tiến tới Docker Swarm để chạy container trên nhiều máy. Mỗi bài thực hành được và có phần dọn dẹp ở cuối.

1

Docker Là Gì và Vì Sao Nên Dùng

Mở đầu series: Docker giải quyết vấn đề gì, khác máy ảo ra sao, các khái niệm cốt lõi (image, container, registry), và lộ trình học từ cơ bản tới Docker Swarm.

Kai··5 min read·DevOpsDocker
2

Kiến Trúc Docker: Client, Daemon, containerd và runc

Đi sâu vào kiến trúc Docker: client và daemon nói chuyện qua REST API, và bên dưới dockerd là containerd với runc. Hiểu điều gì thực sự xảy ra khi bạn gõ docker run, kèm sơ đồ minh họa và lệnh tự kiểm chứng.

Kai··9 min read·DevOpsDocker
3

Container Chạy Bằng Gì: Namespaces, Cgroups và Union Filesystem

Deep-dive lớp thấp nhất: ba tính năng của nhân Linux — namespaces (cô lập), cgroups (giới hạn tài nguyên) và union filesystem (layer) — biến một tiến trình bình thường thành container. Kèm sơ đồ và lệnh tự kiểm chứng.

Kai··7 min read·DevOpsDocker
4

Cài Đặt Docker và Chạy Container Đầu Tiên

Cài Docker theo hệ điều hành, rồi chạy container đầu tiên và nắm trọn vòng đời: run, ps, logs, exec, stop, rm. Kèm sơ đồ trạng thái container và phần dọn dẹp.

Kai··4 min read·DevOpsDocker
5

Image và Cơ Chế Layer: Pull, Tag, Docker Hub

Image đến từ đâu và gồm những gì: cách đọc tên image, registry Docker Hub, layer dùng chung giữa các image, digest, và quản lý image trên máy bằng pull/images/tag/rmi/history.

Kai··5 min read·DevOpsDocker
6

Viết Dockerfile và Build Cache

Tự dựng image cho ứng dụng của bạn: các lệnh Dockerfile cốt lõi, mỗi lệnh tạo một layer, và build cache hoạt động ra sao — vì sao đặt cài dependency trước copy code giúp build nhanh hơn nhiều.

Kai··5 min read·DevOpsDocker
7

Volumes và Bind Mount: Lưu Dữ Liệu Bền Vững

Dữ liệu trong container biến mất khi container bị xóa. Bài này giải quyết: named volume do Docker quản lý và bind mount gắn thẳng thư mục host, khi nào dùng cái nào, kèm ví dụ chứng minh dữ liệu sống sót.

Kai··5 min read·DevOpsDocker
8

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.

Kai··5 min read·DevOpsDocker
9

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.

Kai··4 min read·DevOpsDocker
10

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.

Kai··5 min read·DevOpsSecurity
11

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.

Kai··6 min read·DevOpsDocker
12

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.

Kai··4 min read·DevOpsDocker
13

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.

Kai··5 min read·DevOpsDocker
14

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.

Kai··5 min read·DevOpsDocker