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 network
mà container 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 host
và container
.
Host network
là host
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ư bridge
và host
, 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.