Docker యొక్క pool ఓవర్ల్యాప్ లోపం VPN రూట్ సమస్య కాదు
ఒక లోపం కేటాయింపు సమయంలో, మరొకటి రూట్ మారిన తర్వాత సంభవిస్తుంది. కంటైనర్ చిరునామాలు లేదా సొరంగాన్ని తాకే ముందు IPAM ఉపజాలాలను చదవండి.
Docker ఈ చిరునామా స్థలంలో pool మరొకదానితో ఓవర్ల్యాప్ అవుతోందని సందేశంతో నెట్వర్క్ సృష్టించడానికి నిరాకరిస్తుంది, మరియు VPN రూటే కారణం అయి ఉండాలని ఎవరో నిర్ణయిస్తారు. అది కావడం సాధ్యం కాదు. ఆ లోపం pool కేటాయించబడుతున్నప్పుడు, ఒక ప్యాకెట్ కూడా లేనప్పుడు ఉత్పన్నమవుతుంది, మరియు చేతితో చేసిన కెర్నల్ రూట్ దానిపై ఎటువంటి ప్రభావం చూపదు. VPN ఒక అడుగు తర్వాత ముఖ్యమవుతుంది, ఇప్పటికే చిరునామా ఉన్న కంటైనర్ ఒక రూట్ కనిపించిన తర్వాత చేరుకోలేనిది అయినప్పుడు. రెండు సమస్యలు, రెండు రుజువు సమూహాలు, వాటిని కలపడం రెండింటినీ సరిచేయని మార్పును ఉత్పత్తి చేస్తుంది.
ఒకేలా కనిపించే రెండు లోపాలు
కేటాయింపు లోపం అంకగణితపరమైనది. Docker మీరు అడిగిన ఉపజాలాన్ని అది ఇప్పటికే నిర్వహిస్తున్న ఉపజాలాలతో పోల్చి, ఒక ఖండనను కనుగొని నిరాకరిస్తుంది. ఇంకా ఏమీ నడవడం లేదు, కాబట్టి రూట్ లేదు, కంటైనర్ లేదు, పరిశీలించడానికి ట్రాఫిక్ లేదు.
రన్టైమ్ లక్షణం చేరుకోగల సామర్థ్యం గురించిన ప్రశ్న. నిన్న సమాధానమిచ్చిన కంటైనర్ ఇప్పుడు సమాధానమివ్వడం లేదు, హోస్ట్ యొక్క రూటింగ్ పట్టికలో ఏదో మారింది. కంటైనర్ ఇప్పటికీ తన చిరునామాను కలిగి ఉంది; ప్రశ్న ఆ చిరునామా ఏ మార్గం తీసుకుంటుంది అనేది.
రెండూ చిరునామా ప్రణాళిక సమస్యలు. వాటిలో ఒకటి మాత్రమే Docker సమస్య.
మొదట కేటాయించిన pool లను చదవండి
నెట్వర్క్లను జాబితా చేసి ఖండించగల వాటిని పరిశీలించండి. ఉపజాలం IPAM కాన్ఫిగరేషన్లో ఉంటుంది, మరియు జోడించిన కంటైనర్లు విడిగా జాబితా చేయబడతాయి:
docker network ls
docker network inspect EXISTING_NETWORK
ఆ ఉపజాలాన్ని కొత్త నెట్వర్క్ అడిగే pool తో పోల్చండి, మరియు Compose ప్రతి ప్రాజెక్టుకు దాని స్వంత డిఫాల్ట్ నెట్వర్క్ను సృష్టిస్తుందని గుర్తుంచుకోండి. మీరు మరచిన ప్రాజెక్టుతో గల సంఘర్షణ డెమన్తో గల సంఘర్షణలాగానే కనిపిస్తుంది.
సేవపై ఉన్న స్థిర ipv4_address ఒక కంటైనర్ చిరునామా, pool నిర్వచనం కాదు. దాన్ని మార్చడం ఓవర్ల్యాప్ను తొలగించదు, ఎందుకంటే ఓవర్ల్యాప్ కంటైనర్ల మధ్య కాదు, నెట్వర్క్ ఉపజాలాల మధ్య ఉంటుంది. Docker యొక్క network-create సూచన సాధారణ వంతెన కేటాయింపుకు ఓవర్ల్యాప్ కాని ఉపజాలాలను కోరుతుంది మరియు ఒకదాన్ని స్పష్టంగా ఎలా ఎంచుకోవాలో నమోదు చేస్తుంది.
VPN నుండి బయటపడే ప్రిఫిక్స్ను ఎంచుకోండి
తక్షణ సంఘర్షణ మరియు భవిష్యత్ రూట్ ఒకే ఎంపికతో నిర్ణయించబడతాయి, కాబట్టి ఒకసారి చేయండి. అభ్యర్థి పరిధిని LAN, హోస్ట్ చేరుకోగల ప్రతి VPN గమ్యస్థానం, మరియు ఉపయోగంలో ఉన్న ఏదైనా ఇతర overlay తో పోల్చండి.
Docker ను సంతృప్తపరుస్తూ దూరపు నెట్వర్క్తో ఢీకొనే ప్రిఫిక్స్ మీకు శుభ్రంగా ప్రారంభమై సొరంగం పైకి లేచిన క్షణంలో చేరుకోలేనిదిగా మారే కంటైనర్ను ఇస్తుంది. ఇది ఈ వ్యాసంలోని రెండవ లోపం, మరియు ఇప్పుడు నివారించడం కంటే తర్వాత నిర్ధారణ చేయడం చాలా కష్టం.
ఎంచుకున్న పరిధులను తదుపరి ప్రాజెక్ట్ చదవగలిగే చోట రాయండి. కేటాయించిన ప్రిఫిక్స్ల ఒక-లైన్ నమోదు వివరణ లేని వారం రోజుల టైమౌట్ల కంటే చవకైనది.
నెట్వర్క్ను ఉద్దేశపూర్వకంగా తొలగించండి లేదా మార్చండి
కొత్త Compose నెట్వర్క్ కోసం, నెట్వర్క్ యొక్క IPAM కాన్ఫిగరేషన్లో ఉపయోగించని ప్రిఫిక్స్ను సెట్ చేయండి. ఇప్పటికే ఉన్న ప్రాజెక్ట్ కోసం, పునఃసంఖ్యీకరణను ప్రణాళిక చేయండి: స్థిర చిరునామాలు, ఆధారపడిన సేవలు మరియు నెట్వర్క్ను తిరిగి సృష్టించే దశ అన్నీ పరిగణనలోకి తీసుకోవాలి, ఎందుకంటే YAML సవరించడం నడుస్తున్న నెట్వర్క్ను పునఃసంఖ్యీకరించదు.
పాత నెట్వర్క్ సంఘర్షణ కేటాయింపును కలిగి ఉంటే, దాన్ని తొలగించే ముందు ఎవరు కనెక్ట్ అయ్యారో పరిశీలించండి. docker network rm క్రియాశీల endpoint లు ఉన్నంత కాలం నిరాకరిస్తుంది, మరియు docker stop నెట్వర్క్ పేరుకు బదులు కంటైనర్ పేర్లు లేదా ID లను తీసుకుంటుంది. కంటైనర్ను ఆపడం pool ను పట్టి ఉంచే నెట్వర్క్ నిర్వచనాన్ని కూడా తొలగించదు.
విస్తృత prune నిర్ధారణ సాధనం కాదు. అది సంబంధం లేని ప్రాజెక్టులను చేరి మీరు సేకరించబోయే రుజువులను నాశనం చేస్తుంది.
డిఫాల్ట్ pool లు తదుపరి కేటాయింపుకు మాత్రమే సహాయపడతాయి
డెమన్ యొక్క డిఫాల్ట్ చిరునామా pool సెట్టింగ్ భవిష్యత్ స్వయంచాలక కేటాయింపులను మీరు రిజర్వ్ చేసే పరిధుల వెలుపల ఉంచి మెరుగుపరుస్తుంది. అది ఇప్పటికే ఉన్న నెట్వర్క్లకు వెనుకకు కొత్త చిరునామాలను ఇవ్వదు, మరియు మరొక స్పష్ట ఉపజాలంతో ఓవర్ల్యాప్ అయ్యే స్పష్ట ఉపజాలాన్ని పరిష్కరించదు.
ఆ సెట్టింగ్ను దాని స్వంత పునఃప్రారంభంతో కూడిన వేరే, ప్రణాళికాబద్ధమైన మార్పుగా పరిగణించండి, ఒక ప్రాజెక్ట్ మరమ్మత్తులో భాగంగా కాదు. రెండింటినీ కలపడం అంటే డెమన్ పునఃప్రారంభం సంబంధం లేని దర్యాప్తు మధ్యలో పడిపోతుంది. దాన్ని దాని స్వంత విండోలో షెడ్యూల్ చేయండి. తర్వాత కొత్త స్వయంచాలక కేటాయింపు నిజంగా మీరు రిజర్వ్ చేసిన పరిధుల వెలుపల పడుతుందని నిర్ధారించండి.
సృష్టి విజయవంతమైన తర్వాత, నిజంగా నడుస్తున్న ఉపజాలాన్ని ధృవీకరించి, ఆపై VPN దాని ఉద్దేశిత స్థితిలో ఉండగా ఒక నిజమైన అప్లికేషన్ అభ్యర్థన చేయండి. pool చెల్లుబాటు అయినప్పటికీ ప్రాప్యత ఇప్పటికీ విఫలమైతే, మిగిలిన పని రూట్ ఎంపిక, ఫిల్టరింగ్ మరియు తిరిగి వచ్చే మార్గం. అది రన్టైమ్ దర్యాప్తు, మరియు అది కేటాయింపు లోపాన్ని వెనుకకు అర్థహీనం చేయదు.
పని క్రమం: కేటాయించిన pool లను చదవండి, Docker మరియు VPN గమ్యస్థానాలను రెండింటినీ నివారించే ప్రిఫిక్స్ను ఎంచుకోండి, నెట్వర్క్ను ఉద్దేశపూర్వకంగా తిరిగి సృష్టించండి, ఆపై సొరంగం పైకి ఉన్న స్థితిలో ఒక అభ్యర్థనను పరీక్షించండి.