Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Giới thiệu về docker networking

    🔥 Khi bạn triển khai ứng dụng đa tầng (multi-tier app) với Docker, một trong những thách thức lớn nhất chính là kết nối mạng giữa các container. Nếu không thiết kế cẩn thận, việc giao tiếp sẽ hỗn loạn và tiềm ẩn rủi ro bảo mật: frontend không nên chọc thẳng vào database, application tier không được bypass logic kiểm soát, mà mọi flow cần đi qua đúng tuyến (Presentation → Application → Data). Đây chính là tư duy segmentation trong thế giới container.
    🚀 Docker Networking – Những driver chính bạn cần nắm


    Docker cung cấp nhiều loại network driver, mỗi loại phục vụ cho một use case khác nhau. Khi xây lab hoặc triển khai production, hiểu rõ sự khác biệt này sẽ giúp bạn thiết kế mạng container chuẩn và an toàn.
    • Bridge Driver
      Mặc định sau khi cài Docker, bạn sẽ có một bridge network (docker0). Các container trong cùng bridge có thể giao tiếp với nhau. Nếu muốn expose ra ngoài, bạn cần NAT. Tương tự như VLAN cục bộ trên một host.
    • Host Driver
      Container sẽ dùng trực tiếp network stack của host. Không có NAT, không thêm IP, không tách biệt. Hiệu năng cao nhưng mất đi isolation.
    • Overlay Driver
      Dùng khi cần kết nối container giữa nhiều host. Docker sẽ sử dụng VXLAN để encapsulate traffic, và Docker cung cấp control plane để quản lý. Đây là cơ chế quan trọng khi triển khai Docker Swarm hay Kubernetes.
    • Macvlan Driver
      Cho mỗi container một IP thực trong mạng LAN. Không NAT, không encapsulation. Container “xuất hiện” như một host thật trong mạng vật lý. Rất tiện cho một số use case đặc thù, nhưng đòi hỏi cấu hình mạng host phức tạp hơn.

    🔎 Docker Networking – Bản chất
    • Khi các container cùng host cần giao tiếp, Docker dựng bridge network để route traffic.
    • Cơ chế này khá giống VLAN trong switching.
    • Muốn đi ra ngoài hoặc expose port, bạn phải dùng NAT hoặc ánh xạ port (port mapping).
    • Với multi-host networking, bạn phải dùng overlay (VXLAN) để đảm bảo container “thấy” nhau như chung một subnet.


    👉 Anh em DevOps/Automation Engineer khi làm việc với microservices cần đặc biệt lưu ý:
    • Segmentation chuẩn → ngăn chặn việc container “nói chuyện” sai tầng.
    • Chọn driver hợp lý → bridge cho lab nhỏ, overlay cho cluster, macvlan cho môi trường cần IP trực tiếp.
    • Security by design → kết hợp với firewall, security group, hoặc policy của Kubernetes (NetworkPolicy/Calico) để kiểm soát traffic.
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X