Có ba nơi docker sẽ tạo mạng con.
- Cầu mặc định
- Mạng cầu do người dùng tạo
- Chế độ quét được tạo ra các mạng lớp phủ
Đối với cầu nối mặc định (được gọi là "cầu"), bạn có thể chỉ định BIP (Tôi tin rằng đó là Bridge IP; đảm bảo đó là IP máy chủ chứ không phải IP mạng ) trong daemon.json
tệp. Và đối với các mạng cầu do người dùng tạo, bạn có thể xác định nhóm mạng con để chọn (giả sử người dùng không chỉ định thủ công mạng con). Đối với hai, bạn /etc/docker/daemon.json
sẽ trông như:
{
"bip": "10.200.0.1/24",
"default-address-pools":[
{"base":"10.201.0.0/16","size":24},
{"base":"10.202.0.0/16","size":24}
]
}
Mỗi cài đặt nhóm địa chỉ ở trên xác định phạm vi CIDR và kích thước của các mạng con sẽ được phân bổ từ phạm vi đó. Vì vậy, ở trên định nghĩa hai phạm vi lớp B được phân bổ là mạng lớp C (/ 24). Bạn cần ít nhất 18,06 cho nhóm địa chỉ mặc định. Bạn sẽ cần tải lại trình nền docker cho thay đổi này để áp dụng ( systemctl reload docker
). Và thay đổi này sẽ chỉ sửa đổi các mạng người dùng mới được tạo, vì vậy bạn sẽ cần dừng các container và xóa các mạng hiện có trong phạm vi sai.
Vào ngày 18 tháng 9, Docker đã thêm khả năng chỉ định phạm vi địa chỉ cho các mạng lớp phủ được tạo ở chế độ swarm. Điều này chỉ có thể được thực hiện tại thời điểm tạo ra bầy đàn ngay bây giờ, hy vọng rằng nó sẽ được cập nhật trong tương lai để cho phép docker swarm update
điều chỉnh các nhóm này:
$ docker swarm init \
--default-addr-pool 10.202.0.0/16 \
--default-addr-pool 10.203.0.0/16 \
--default-addr-pool-mask-length 24