default-address-pools-ыг өөрчлөх нь танд аль хэдийн байгаа сүлжээг дахин дугаарлахгүй бөгөөд яг үүнийг хүлээх нь болгоомжтой төлөвлөгөөг гэнэтийн тасалдал болгох зам юм. Энэ тохиргоо нь демон шинэ тохиргоотой дахин эхэлсний дараа үүсэх сүлжээнд автомат хуваарилалтыг удирдана. Аль хэдийн ажиллаж байгаа бүхэн өөрт нь өгөгдсөн дэд сүлжээг хадгална, учир нь тэр дэд сүлжээ нь сүлжээний хадгалагдсан тодорхойлолтын хэсэг юм. Домог нь нэг засвар бүх давхцлыг засна гэж сануулдаг тул тохиромжтой, бодит байдал нь хоёр хэсэгтэй ажил: үнэхээр чөлөөтэй хүрээг сонгоод, дараа нь чөлөөтэй бус сүлжээг шилжүүлнэ.

Домог: пулын нэг өөрчлөлт давхцлыг засна

Домог тодорхой хэлбэртэй. Хэн нэгэн Docker-ийн үндсэн пулыг өөрчилж болно гэж уншиж, үүнийг өөрчилж, демоныг дахин эхлүүлээд контейнерын сүлжээ оффисын VPN-тэй цаашид мөргөлдөхгүй гэж дүгнэдэг. Хуучин сүлжээ хэвээр байгаа, холбогдсон хэвээр, мөргөлдөж буй хаягийг хэвээр эзэмшиж байна.

Өөрчлөгдсөн нь хуваарилагчийн ирээдүйн зан төлөв бөгөөд энэ нь үнэхээр ашигтай, үнэхээр хязгаарлагдмал. Тодорхой --subnet заалтгүйгээр үүсгэсэн шинэ сүлжээг шинэ пулаас тасдана; байгаа сүлжээ нь тэр пулд хэзээ ч байгаагүй. Дахин эхлүүлэх нь сүлжээг дахин барихгүй, контейнеруудыг хооронд нь зөөхгүй. Өөрчлөлтийн дараа ч шинж тэмдэг үргэлжилбэл өөрчлөлт бодитой байсан, оношилгоо нь дутуу байсан.

Үндсэн хүрээ ба олгогдсон префикс

Тохиргоонд андуурахад хялбар хоёр талбар байна. base нь хуваарилагч тасдах хүрээ, size нь олгогдсон сүлжээ бүрийн префиксийн урт тул 10.10.0.0/16 суурь 24 хэмжээтэйгээр тэр /16-ийн дотор /24 хуваарилна. Үүргийг эргүүлэх нь таны хүсээгүй хуваарилалтын загвар үүсгэдэг, ихэвчлэн нэг асар том сүлжээ эсвэл дууссан пул.

Пул бол захиалга, баталгаа биш. Docker хостын чиглүүлэлтийн хүснэгтэд харж буй зөрчилдөөнөөс зайлсхийдэг бөгөөд таны одоохондоо холбогдоогүй VPN-ийг харж чадахгүй.

Энэ хязгаарлалт нь санаатай сонгох бүх шалтгаан юм. Харьцуулах хүрээ нь хост хүрэх ёстой хүрээ: оффисын LAN, корпорацийн VPN-ийн дотоод дэд сүлжээ, лаборатори эсвэл staging префикс, мөн ижил overlay дээрх бусад контейнер хост. Демонд хүрэхээс өмнө тэдгээрийг CIDR хэлбэрээр бичээрэй, учир нь толгойд байгаа жагсаалт хамгийн чухал нэгийг алдах болно. Дараа нь аль нэгтэй нь давхцахгүй суурийг сонгож, жагсаалтыг байршуулалтын хамт хадгалаарай, дараагийн хүн энэ дасгалыг ойгоос давтахгүйн тулд.

Сонгохоос өмнө тоол

Эхлээд байгаа зүйлийг тоол. docker network ls сүлжээг жагсаана, docker network inspect bridge -f '{{.IPAM.Config}}' тодорхой сүлжээний ашиглаж буй дэд сүлжээг хэвлэнэ. Хэрэглэгчийн тодорхойлсон сүлжээ бүрд давтана, учир нь Compose төслүүд өөрсдийнхийг үүсгэдэг бөгөөд compose файл дахь тодорхой --subnet пулыг бүрэн тойрч гардаг.

Тэр сүүлийн цэг нь шилжүүлгийг даван туулдаг. Пул өөрчлөх нь хамт олныг compose файлд 172.18.0.0/16 бэхлэхээс сэргийлэхгүй, зөрчил өөр зохиолчтой буцаж ирнэ.

Аль хэдийн байгаа зүйлийг шилжүүлэх

Байгаа сүлжээг шилжүүлэх нь тусдаа, дэмжигдсэн үйлдэл юм. Нөлөөлөгдсөн сүлжээ бүрийг шинэ дэд сүлжээтэй дахин үүсгэх ёстой, энэ нь түүнийг ашиглаж буй контейнеруудыг салгаж дахин холбохыг хэлнэ, сүлжээг дахин үүсгэх нь контейнерын холбоосыг зөөхийн оронд устгана. Хэмжээ болон тохиргоог хадгалж, дахин үүсгэхийг өгөгдлийн шинэчлэл биш, байршуулалт гэж үзээрэй. Ажлыг засвар үйлчилгээний цонхонд хий, учир нь дахин үүсгэсэн сүлжээний контейнерууд та төлөвлөсөн эсэхээс үл хамааран дахин эхэлнэ.

Баримтжуулсан демоны тохиргоо болон дахин эхлүүлэх процедурыг дагаж, тасалдлыг зохицуул. Нэг демонтой хост дээр systemctl restart docker контейнеруудыг тэдний дахин эхлүүлэх бодлогын дагуу дахин эхлүүлдэг бөгөөд энэ нь дараа биш, урьд нь мэдэх нь зүйтэй зан төлөв юм.

Дараа нь өөрчлөлт засах ёстой байсан хоёр зүйлийг шалга. Шинэ дэд сүлжээг docker network inspect-ээр шалгаж, сонгосон суурийн дотор байгааг батал, дараа нь төлөөлөх VPN чиглэл рүү чиглүүлэлтийг ip route get 10.20.30.40-ээр шалгаж, таны хүлээж буй газар явж байгааг, гүүр рүү биш гэдгийг батал. Үйлчилгээ илрүүлэх болон контейнер хоорондын харилцааг ч шалга, учир нь өөр хаяглалттай дахин үүсгэсэн сүлжээ нэрийн шийдвэрийг програмын алдаа мэт харагдах байдлаар эвдэж болно.

Дараа нь ч юу эвдэрдэг

Тогтвортой хэсэг нь бүртгэл юм. Хуваарилалтын жагсаалт, сонгосон суурь ба хэмжээ, дахин үүсгэсэн сүлжээг байршуулалттай нэг дор хадгал.

Хүрээ хувийн байх нь дахин ашиглахад аюулгүй болгохгүй. 10.0.0.0/8 нь хувийн бөгөөд зам дагуу хаа нэгтээ аль хэдийн ашиглагдаж байх магадлал хамгийн өндөр, тиймээс хариулт нь нэг блокт давуу эрх өгөх биш, тодорхой захиалга юм. Docker-ийн сүлжээний баримт бичиг автомат дэд сүлжээний хуваарилалт болон пулын талбарыг тайлбарладаг. Хүрээг цэгцтэй харагдахаас нь биш, хүрэх ёстой зүйлээсээ сонго.

Холбоотой нийтлэлүүд