Bài 5. Làm việc với Docker Network

Giới thiệu

Docker Network là một khía cạnh quan trọng trong việc quản lý các container, giúp các container giao tiếp với nhau và với môi trường bên ngoài một cách hiệu quả. Khi triển khai các ứng dụng phức tạp, việc hiểu và cấu hình mạng trong docker là một phần không thể thiếu để đảm bảo hiệu suất và bảo mật.

Yêu cầu

  • Đã có kiến thức cơ bản về Linux
  • Đã có kiến thức cơ bản về Git
  • Terminal đến máy chủ Ubuntu sẵn sàng nhập lệnh
  • Đã cài đặt Docker ở bài trước

Nội dung

Bridge Network

1. Xem danh sách Network:

docker network ls 

 

2. Tạo mới Network mới sử dụng Driver Bridge

Cú pháp:

docker network create -d bridge <network_name>

 

Ví dụ: Tạo Network sử dụng Brige Driver có tên my-network

docker network create -d bridge my-network

3. Kiểm tra thông tin chi tiết Network

Cú pháp:

docker network inspect <network_name>

 

Ví dụ: Xem thông tin chi tiết của Network có tên my-network

docker network inspect my-network

 

4. Thêm Container vào Network

Cú pháp:

docker network connect <network_name/id> <container_name/id>

 

Chúng ta sẽ tạo mới container sử dụng network mặc định, sau đó thêm container vào network my-network đã tạo ở phần 3

# Khởi chạy container alpine
docker run --name alpine -idt alpine

# thêm container alpine vào network my-network
docker network connect my-network alpine

 

Bạn hãy inspect container để xem các networkcontainer alpine tham gia.

1. Gỡ Container ra khỏi Network:

Cú pháp:

docker network disconnect <network_name/id> <container_name/id>

 

Đảo ngược quá trình ở phần 4, chúng ta sẽ loại container alpine ra khỏi network my-network

docker network disconnect my-network alpine

 

2. Chỉ định Network khi tạo Container

Cú pháp:

docker run --network <network_name/id> <image>

 

docker run -idt --network my-network centos

 

3. Mapping Port

Cú pháp:

docker run -p <host_port>:<container_port> <image>

 

Ví dụ có dịch vụ nginx chạy ở port 80 -> container
mapping port 80 trong container ra bên ngoài port 8080 trên host

docker run -idt --network my-network -p 8080:80 nginx

 

Mapping port ngẫu nhiên:

docker run -P <image>

 

Ví dụ mapping

docker run -idt -P nginx

 

Host network:

Host network cho phép container trực tiếp sử dụng thiết bị mạng, không có lớp mạng trung gian giữa hostcontainer.

Host networkhost dùng chung với Docker Host, nên chỉ có duy nhất 1 Network trong loại Network này.

Cú pháp khởi tạo container sử dụng host network:

docker run --network host <image>

docker run -idt --network host nginx

Kết luận

- Quản lý mạng là một phần quan trọng trong việc vận hành container docker, cho phép các container giao tiếp với nhau và với các dịch vụ bên ngoài một cách hiệu quả. Hiểu và sử dụng các loại network khác nhau, như bridgehost, cũng như biết cách mapping port, sẽ giúp bạn xây dựng các ứng dụng phức tạp và linh hoạt hơn. Hy vọng rằng hướng dẫn này đã cung cấp cho bạn những kiến thức cần thiết để bắt đầu quản lý mạng trong docker một cách hiệu quả.


Tác giả: Đỗ Thiên Giang

Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.

Lên trên