Istnieją trzy miejsca, w których doker generuje podsieci sieciowe.
- Domyślny most
- Sieci mostowe generowane przez użytkowników
- Generowane w trybie roju sieci nakładkowe
W przypadku domyślnego mostu (zwanego „mostem”) możesz określić BIP (uważam, że to jest IP mostu; upewnij się, że jest to IP hosta, a nie IP sieci ) w daemon.json
pliku. W przypadku sieci mostów generowanych przez użytkownika można zdefiniować pulę podsieci, z której można wybierać (zakładając, że użytkownik nie określi ręcznie podsieci). Dla tych dwóch /etc/docker/daemon.json
wyglądałoby to tak:
{
"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}
]
}
Każde powyższe ustawienie puli adresów określa zakres CIDR i rozmiar podsieci, które mają zostać przydzielone z tego zakresu. Zatem powyższe definiuje dwa zakresy klasy B, które są alokowane jako sieci klasy C (/ 24). Potrzebujesz domyślnej puli adresów co najmniej 18,06. Aby zastosować tę zmianę, należy ponownie załadować demona dokera systemctl reload docker
. Ta zmiana zmodyfikuje tylko nowo utworzone sieci użytkowników, więc musisz zatrzymać kontenery i usunąć istniejące sieci w niewłaściwym zakresie.
W 18.09 Docker dodał możliwość określenia zakresu adresów dla sieci nakładek generowanych w trybie roju. Można to zrobić tylko w momencie tworzenia roju, mam nadzieję, że zostanie to zaktualizowane w przyszłości, aby umożliwić docker swarm update
dostosowanie tych pul:
$ 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