VANHIEP.NET - Làm web giá rẻ - Thiết Kế Website - Thiết Kế Ứng Dụng Mobile
[Magento] - Docker network là gì, docker network hoạt động như thế nào ?

[Magento] - Docker network là gì, docker network hoạt động như thế nào ?

Trong môi trường ảo hóa và container, "Docker network" là một khái niệm để thể hiện cách mà các container (hoặc các dịch vụ) trong một môi trường Docker tương tác và giao tiếp với nhau hoặc với mạng bên ngoài.

Docker cung cấp các loại mạng khác nhau để quản lý việc liên kết các container và cách chúng giao tiếp với nhau. Các loại mạng này cho phép các container tương tác thông qua địa chỉ IP hoặc tên máy chủ của container.

Các loại mạng Docker bao gồm:

  1. Default Bridge Network: Đây là một mạng mặc định mà Docker tạo ra khi bạn cài đặt nó. Các container trong cùng mạng này có thể giao tiếp với nhau bằng địa chỉ IP hoặc tên container. Mạng này cũng cung cấp chức năng NAT để container có thể kết nối với mạng bên ngoài.

  2. Host Network: Trong mạng này, container chia sẻ cùng không gian mạng với máy host. Điều này có nghĩa là container có thể sử dụng cùng địa chỉ IP như máy host và truy cập các dịch vụ cùng mạng như máy host.

  3. Overlay Network: Được sử dụng trong các môi trường Docker Swarm (dịch vụ quản lý container của Docker), mạng overlay cho phép các container trên các máy chủ khác nhau trong một cụm Docker Swarm giao tiếp với nhau như chúng đang ở trên cùng một mạng.

  4. Custom Bridge Network: Bạn có thể tạo ra các mạng tùy chỉnh để quản lý container của riêng bạn. Điều này giúp bạn tạo ra các mô hình mạng phức tạp hơn cho các ứng dụng.

Sử dụng Docker network, bạn có thể kiểm soát cách mà các container tương tác và giao tiếp với nhau hoặc với mạng bên ngoài, tạo ra mô hình mạng phù hợp với yêu cầu của ứng dụng của bạn.

Ví dụ 1: Default Bridge Network

Khi bạn chạy một container, Docker sẽ tự động đặt container đó vào mạng bridge mặc định (default bridge network). Trong ví dụ này, chúng ta sẽ chạy hai container và thấy cách chúng tương tác qua địa chỉ IP.

  1. Chạy container thứ nhất:

docker run -d --name container1 nginx

 Chạy container thứ hai:

docker run -d --name container2 nginx

Kiểm tra địa chỉ IP của container1:

docker inspect -f '{{.NetworkSettings.IPAddress}}' container1

Trong container2, thử gửi một yêu cầu HTTP đến container1 bằng cách sử dụng địa chỉ IP:

curl <địa chỉ IP container1>

Ví dụ 2: Custom Bridge Network

Trong ví dụ này, chúng ta sẽ tạo một mạng tùy chỉnh và đặt các container vào mạng này. Điều này cho phép chúng ta sử dụng tên container thay vì địa chỉ IP để giao tiếp.

  1. Tạo một mạng tùy chỉnh:

docker network create my-network

 Chạy container trong mạng tùy chỉnh:

docker run -d --name container3 --network my-network nginx
docker run -d --name container4 --network my-network nginx

Trong container4, thử gửi yêu cầu HTTP đến container3 bằng tên container:

curl container3

Trong các ví dụ trên, chúng ta đã thấy cách Docker network cho phép các container tương tác với nhau qua địa chỉ IP hoặc tên container tùy thuộc vào mạng mà chúng đang được đặt vào. Docker network giúp quản lý việc giao tiếp giữa các container và kiểm soát mô hình mạng phù hợp với ứng dụng của bạn.