Mạng Docker

Docker nâng cao

Mike Metzger

Data Engineering Consultant

Kết nối mạng Docker

  • Docker có nhiều tùy chọn mạng
  • Có thể tạo mạng để liên lạc giữa container, host và hệ thống bên ngoài
  • Sẽ giới thiệu các lệnh để làm việc với mạng
Docker nâng cao

Các loại mạng Docker

  • Docker hỗ trợ nhiều loại mạng thông qua driver
    • bridge: Mặc định; cho phép kết nối ra ngoài, vào trong nếu đã expose
    • host: Giao tiếp đầy đủ giữa host và container
    • none: Cô lập container khỏi mạng
    • Nhiều loại khác, kể cả driver tùy chỉnh
  • Chủ yếu dùng driver bridge để tự tạo mạng
Docker nâng cao

Làm việc với mạng Docker

Một số lệnh:

  • docker network
    • docker network <command>
    • docker network <command> --help
    • docker network ls liệt kê mọi mạng trên host
    • docker network create tạo mạng
    • docker network rm xóa mạng
Docker nâng cao

Ví dụ về mạng Docker

  • Tạo mạng Docker tên mynetwork
    repl@host:~$ docker network create mynetwork
    
5ff0febab98f73b74dd753eb44a30f7d7291052b3b1d58b0134589221cb8e33d
repl@host:~$ docker network ls

NETWORK ID NAME DRIVER SCOPE 2edc5ae4838c bridge bridge local a92988382711 host host local 5ff0febab98f mynetwork bridge local 5464ed866dad none null local
Docker nâng cao

Gắn container vào mạng

  • Kết nối container vào mạng như thế nào?
  • docker run --network <networkname> ...
  • docker run --network mynetwork ubuntu bash
  • Cũng có thể kết nối container sau đó
    • docker network connect <networkname> <container>
    • docker network connect mynetwork ubuntu-B
Docker nâng cao

docker network inspect

  • Kiểm tra chi tiết mạng như thế nào?
  • docker network inspect <networkname>
  • Cung cấp cấu hình và IP gán cho container
    repl@host:~$ docker network inspect mynetwork
    
Docker nâng cao

ví dụ docker network inspect

        "Name": "mynetwork",
        ...
        "Driver": "bridge",
        ...
        Containers": {    "2be08aa942029191350d4bceb8816254af8713dd6f7dcbadcab8f068f7dbfdfa": {
                "Name": "unruffled_kare",
                "EndpointID": "29739356ae200e1e901d2eabef05efaca0fb37e1a4e1a4c3bf369f2892ca6c4b",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
Docker nâng cao

Hãy luyện tập!

Docker nâng cao

Preparing Video For Download...