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

  • ​ Khám Phá Docker Networking – Lab Thực Hành

    Giới thiệu


    Trong lab này, bạn sẽ chạy container, kiểm tra cấu hình mạng mặc định, so sánh các chế độ networking khác nhau (bridge, host, custom bridge, macvlan) và quan sát sự khác biệt. Đây là phần quan trọng giúp bạn hiểu rõ cách Docker networking hoạt động trong môi trường thực tế.
    1. Chạy Container và Kiểm Tra Cấu Hình Mạng


    Bước 1: Trên máy học viên, mở Visual Studio Code.

    Bước 2: Trên thanh menu, chọn Terminal > New Terminal [Ctrl-Shift-`].

    Bước 3: Quan sát terminal hiển thị ở phía dưới cửa sổ VS Code.

    Bước 4: Chuyển thư mục làm việc:
    cd ~/labs/lab05
    Bước 5: Chạy container Alpine:
    docker run -itd --name alpine_net registry.git.lab/cisco-devops/containers/alpine
    2. Liệt Kê và Inspect Network


    Bước 6: Liệt kê các network có sẵn:
    docker network ls
    Bước 7: Inspect network mặc định (bridge):
    docker network inspect bridge
    Quan sát subnet, default gateway và các container đang kết nối.
    3. Kết Nối Vào Container và So Sánh


    Bước 8: Truy cập container:
    docker exec -it alpine_net sh
    Bước 9: Kiểm tra địa chỉ IP và MAC:
    ip addr show
    Bước 10: Kiểm tra bảng định tuyến:
    ip route list
    So sánh với thông tin từ lệnh docker network inspect.

    Bước 11: Thoát khỏi container:
    exit
    4. Sử Dụng Host Networking


    Bước 12: Chạy container Python HTTP server mà không gán host network:
    docker run -itd --name py3_net registry.git.lab/cisco-devops/containers/python37:latest python3 -m http.server 8000
    Bước 13: Mở trình duyệt và thử truy cập:

    Không thể kết nối vì chưa expose port.

    Bước 14: Xoá container:
    docker container rm -f py3_net
    Bước 15: Chạy lại container với host networking:
    docker run --network=host -itd --name py3_net registry.git.lab/cisco-devops/containers/python37:latest python3 -m http.server 8000
    Bước 16: Mở lại trình duyệt và truy cập:

    Lần này đã kết nối thành công.
    5. Tạo Custom Bridge Network


    Bước 17: Kiểm tra IP config trên host:
    ip address ip link ip route
    Bước 18: Tạo custom bridge:
    docker network create -d bridge my_custom_bridge
    Bước 19: Gắn container alpine_net vào custom bridge:
    docker network connect my_custom_bridge alpine_net
    Bước 20: Inspect custom bridge:
    docker network inspect my_custom_bridge
    Bước 21: So sánh IP config sau khi gắn thêm mạng:
    ip address ip link ip route
    6. Tạo Macvlan Network


    Bước 22: Tạo mạng macvlan (thay ens160 bằng interface của bạn):
    docker network create -d macvlan \ --subnet=192.168.10.0/24 \ --gateway=192.168.10.1 \ -o parent=ens160 my_custom_macvlan
    Bước 23: Gắn container alpine_net vào macvlan:
    docker network connect my_custom_macvlan alpine_net
    Bước 24: Inspect cấu hình macvlan:
    docker network inspect my_custom_macvlan
    7. Kết luận


    Trong lab này, bạn đã:
    • Chạy container và kiểm tra network mặc định.
    • So sánh bridgehost network.
    • Tạo và gắn custom bridge để thấy khả năng phân giải tên giữa containers.
    • Tạo macvlan network để container xuất hiện như một thiết bị độc lập trong mạng vật lý.

    Đây là nền tảng quan trọng để triển khai các ứng dụng container phức tạp với yêu cầu networking đa dạng.​
    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