Docker refuséiert en Netzwierk ze schafen mat der Meldung, datt de Pool sech mat engem aneren an dësem Adressraum iwwerlappt, an een decidéiert, datt d'VPN-Route d'Ursaach muss sinn. Dat kann net sinn. Dee Fehler entsteet, während e Pool allokéiert gëtt, ier och nëmmen ee Paket existéiert, an eng manuell Kernel-Route huet keen Afloss dorobber. D'VPN zielt ee Schrëtt méi spéit, wann e Container, deen schonn eng Adress huet, no der Erscheinung vun enger Route net méi erreechbar gëtt. Zwee Problemer, zwee Beweissätz, an se ze mëschen ergëtt eng Ännerung, déi keng vun deenen zwee reparéiert.

Zwee Fehler déi alleguer gläichen ausgesinn

Den Allokatiounsfehler ass arithmetesch. Docker vergläicht den ugefrote Subnetz mat de Subnetzer, déi et schonn administréiert, fënnt eng Kräizung a refuséiert. Et leeft nach näischt, also gëtt et keng Route, kee Container an keen Traffic fir ze iwwerpréiwen.

De Symptom am Betrib ass eng Fro vun der Erreechbarkeet. E Container, deen gëschter geäntwert huet, äntwert elo net, an et huet sech eppes an der Routing-Tabelle vum Host geännert. De Container hält seng Adress nach ëmmer; d'Fro ass, wéi ee Wee déi Adress hëlt.

Béid sinn Adressplangproblemer. Nëmmen ee vun hinnen ass en Docker-Problem.

Liest als éischt d'allokéiert Pools

Lëscht d'Netzwierker op a kuckt déi, déi sech kräize kënnen. Den Subnetz lieft an der IPAM-Konfiguratioun, an d'ugehängte Container ginn separat opgezielt:

docker network ls
docker network inspect EXISTING_NETWORK

Vergläicht deen Subnetz mat dem Pool, deen dat neit Netzwierk froen, a denkt drun, datt Compose pro Projet säin eegent Standardnetzwierk schaaf. E Konflikt mat engem Projet, deen Dir vergiess hutt, gesäit genee aus wéi e Konflikt mam Daemon.

Eng statesch ipv4_address op engem Service ass d'Adress vun engem Container, net d'Pooldefinitioun. Se z'ännere behieft keng Iwwerlappung, well d'Iwwerlappung tëscht Netz-Subnetzer ass an net tëscht Containeren. Dem Docker seng network-create-Referenz verlaangt net-iwwerlappend Subnetzer fir déi gewéinlech Bréck-Allokatioun an dokumentéiert, wéi een een explizit auswielt.

Wielt e Präfix deen d'VPN iwwerlieft

De primalen Konflikt an déi zukünfteg Route ginn duerch déiselwecht Wiel decidéiert, also maacht se eng Kéier. Vergläicht de Kandidatberäich mam LAN, mat all VPN-Destinatioun, déi den Host erreeche kann, a mat all aneren Overlay, deen a Benotzung ass.

E Präfix, deen Docker zefridde stellt an mat dem wäitem Netzwierk kollidéiert, gëtt Iech e Container, deen propper startet an deen Ament onerreechbar gëtt, wou den Tunnel eropgeet. Dat ass den zweete Fehler an dësem Artikel, an et ass vill méi schwéier en spéider ze diagnostizéieren wéi elo ze vermeiden.

Schreift déi gewielte Beräicher dofir op, wou den nächste Projet se liese kann. E Regëster vun allokéierte Präfixer op enger Linn ass méi bëlleg wéi eng Woch onerkläerlech Timeouts.

Zitt e Netzwierk bewosst zréck oder ännert et

Fir en neit Compose-Netzwierk setzt de net benotzte Präfix an der IPAM-Konfiguratioun vum Netzwierk. Fir e existéierende Projet plangt d'Renummeréierung: fix Adressen, ofhängeg Servicer an de Schrëtt vum Netzwierk nei ze schafen mussen alleguer berécksiichtegt ginn, well YAML z'änneren e lafend Netzwierk net renumméiert.

Wann en veralt Netzwierk d'konfliktbelaaft Allokatioun besëtzt, kuckt wien ugehängt ass, ier Dir et ewechhuelt. docker network rm refuséiert, soulaang aktiv Endpunkter existéieren, an docker stop hëlt Containernimm oder IDen amplaz vun engem Netzwierknimm. E Container ze stoppen hëlt och net d'Netzwierkdefinitioun ewech, déi de Pool hält.

E breede prune ass keen Diagnoseinstrument. Et erreecht onverbonne Projeten an zerstéiert d'Beweiser, déi Dir just wollt sammelen.

Standardpools hëllefen nëmmen der nächster Allokatioun

D'Astellung fir de Standardadresspool vum Daemon verbessert zukünfteg automatesch Allokatiounen, andeem se se ausserhalb vun de Beräicher hält, déi Dir reservéiert. Si gëtt existéierende Netzwierker net retroaktiv nei Adressen, an si léist keen explizitte Subnetz, deen en aneren explizitten Subnetz iwwerlappt.

Behandelt déi Astellung als eng separat, geplangt Ännerung mat hirem eegenen Neistart, net als Deel vun der Reparatur vun engem Projet. Béides ze mëschen heescht, datt en Daemon-Neistart an d'Mëtt vun enger onverbonner Enquête fält. Plangt en an engem eegene Fënster. Bestätegt duerno, datt eng nei automatesch Allokatioun wierklech ausserhalb vun de Beräicher fält, déi Dir reservéiert hutt.

Wann d'Schafe geléngt, iwwerpréift den Subnetz, deen tatsächlech leeft, a maacht dann eng richteg Applikatiounsufro mat der VPN an hirem virgesinnene Zoustand. Wann de Pool gülteg ass an den Zougang nach ëmmer feelt, ass déi reschtlech Aarbecht Routeauswiel, Filterung an de Réckwee. Dat ass eng Enquête am Betrib, an si mécht den Allokatiounsfehler net retroaktiv sënnlos.

Aarbechtsuerdnung: liest d'allokéiert Pools, wielt e Präfix deen Docker an d'VPN-Destinatiounen allebéid ëmgeet, schaaft d'Netzwierk bewosst nei, a testt dann eng Ufro mam Tunnel erop.

Ähnlech Artikelen