CodeGym /Các khóa học /Docker SELF /Các driver mạng cơ bản của Docker

Các driver mạng cơ bản của Docker

Docker SELF
Mức độ , Bài học
Có sẵn

1.1 Driver mạng Bridge

Các driver mạng Docker cho phép các container tương tác với nhau và với các mạng bên ngoài. Docker cung cấp nhiều driver mạng khác nhau, mỗi driver có đặc trưng riêng và phù hợp với các tình huống sử dụng cụ thể. Trong bài giảng này, chúng ta sẽ tìm hiểu bốn driver mạng chính: bridge, host, noneoverlay.

Driver mạng bridge là driver mạng mặc định trong Docker. Driver này tạo ra một mạng nội bộ riêng, nơi các container có thể giao tiếp với nhau. Mạng này được cách ly khỏi mạng bên ngoài của host.

Đặc điểm:

  • Các container được kết nối với mạng bridge có thể tương tác với nhau thông qua địa chỉ IP.
  • Các mạng bên ngoài không thể trực tiếp tương tác với các container trong mạng bridge nếu không thiết lập chuyển tiếp cổng.
  • Dễ sử dụng cho các tình huống phát triển và kiểm thử cục bộ.

Ví dụ sử dụng:

Khi tạo container mà không chỉ định mạng, nó sẽ tự động kết nối với mạng bridge.

Terminal

docker run -d --name my_container nginx 

Để thiết lập chuyển tiếp cổng, sử dụng cờ -p.

Terminal

docker run -d -p 8080:80 --name my_container nginx 

1.2 Driver mạng Host

Driver mạng host cho phép container sử dụng stack mạng của máy chủ trực tiếp. Điều này có nghĩa là container sẽ có cùng địa chỉ IP với host và có thể sử dụng tất cả các giao diện mạng của host.

Đặc điểm:

  • Các container sử dụng driver mạng host hoạt động nhanh hơn do giảm tải hệ thống ảo hóa mạng.
  • Các container có quyền truy cập vào cùng các giao diện mạng như host, điều này có thể tăng nguy cơ bảo mật.
  • Áp dụng trong các kịch bản cần hiệu năng mạng cao hoặc cấu hình mạng đặc thù.

Ví dụ sử dụng:

Terminal

docker run -d --network host --name my_container nginx 

1.3 Driver mạng None

Driver mạng none tắt tất cả các khả năng mạng của container. Container được kết nối với mạng none không có giao diện mạng, điều này hoàn toàn cách ly nó khỏi các container và mạng khác.

Đặc điểm:

  • Hoàn toàn cách ly container khỏi tất cả các mạng.
  • Hữu ích cho các container không cần mạng, ví dụ, để thực hiện các nhiệm vụ không phụ thuộc vào mạng.

Ví dụ sử dụng:

Terminal

docker run -d --network none --name my_container busybox 

1.4 Mạng driver Overlay

Driver mạng overlay được sử dụng để tạo một mạng phân tán, bao phủ nhiều host Docker khác nhau. Driver này thường được sử dụng trong Docker Swarm hoặc Kubernetes để đảm bảo giao tiếp mạng giữa các container trên các host khác nhau.

Đặc điểm:

  • Đảm bảo kết nối giữa các container trên các host khác nhau.
  • Yêu cầu cấu hình clustering như Docker Swarm.
  • Cho phép tạo các mạng ảo trên các mạng hiện có, đảm bảo mức độ cách ly và bảo mật cao.

Ví dụ sử dụng:

Để sử dụng driver overlay, trước tiên cần tạo một cluster Docker Swarm.

1. Khởi tạo Docker Swarm:

Terminal

docker swarm init

2. Tạo mạng overlay:

Terminal

docker network create -d overlay my_overlay_network 

3. Chạy các container với kết nối tới mạng overlay:

Terminal

docker service create --name my_service --network my_overlay_network nginx 

1.5 So sánh các driver mạng

So sánh các driver mạng khác nhau

Driver mạng Cô lập Hiệu suất Ứng dụng Đặc điểm
bridge Cao Vừa phải Mạng cục bộ Mạng cô lập mặc định
host Thấp Cao Hiệu suất Chia sẻ ngăn xếp mạng với host
none Hoàn toàn Cao nhất Cô lập Cô lập hoàn toàn với mạng
overlay Cao Cao Mạng phân tán Liên lạc giữa các container trên các host khác nhau

Ứng dụng driver mạng

  • Bridge: sử dụng cho các ứng dụng cục bộ và thử nghiệm khi container cần tương tác với nhau nhưng cần được cô lập khỏi mạng bên ngoài.
  • Host: áp dụng cho các ứng dụng yêu cầu hiệu suất mạng cao hoặc cấu hình mạng đặc biệt, nơi cô lập mạng không phải là ưu tiên.
  • None: sử dụng cho các container hoàn toàn cô lập, không yêu cầu tương tác mạng.
  • Overlay: sử dụng cho các ứng dụng phân tán hoạt động trong cluster, cần đảm bảo liên lạc giữa các container trên các host khác nhau.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION