VPN కాన్ఫిగరేషన్ కంటైనర్ పునఃసృష్టి తర్వాత నిలిచి ఉంటుంది మీరు దాన్ని మౌంట్ చేస్తే మాత్రమే
నడుస్తున్న కంటైనర్ లోపల సవరించిన ఫైల్ అదృశ్యమయ్యే పొరలో నివసిస్తుంది. bind mount, volume మరియు secret లను పోల్చి, తర్వాత మళ్లీ సృష్టించి నాలుగు విషయాలను ధృవీకరించండి.
మీరు నడుస్తున్న కంటైనర్ లోపల WireGuard కాన్ఫిగరేషన్ను సవరిస్తారు, అది పని చేస్తుంది, తర్వాత image నవీకరణ దాన్ని తొలగిస్తుంది. ఏదీ తప్పుగా కాన్ఫిగర్ చేయలేదు. ఫైల్ కంటైనర్ యొక్క వ్రాయగల పొరలో ఉండేది, అది ఆ కంటైనర్ ఇన్స్టాన్స్ కోసం మాత్రమే ఉంటుంది. ముఖ్యమైన పోలిక ఏ సాధనం ఉపయోగించాలనేది కాదు, మీ డిప్లాయ్మెంట్ ఏ ఇన్పుట్లను ప్రకటిస్తుందనేది. మీరు చేతితో సవరించిన ప్రతిదీ డిప్లాయ్మెంట్కు తెలియని ఇన్పుట్.
రెండు రకాల స్థితి, ఒకటి పడవేయదగినది
కంటైనర్కు రన్టైమ్లో చేసిన మార్పుల కోసం వ్రాయగల పొర ఉంటుంది, కంటైనర్ భర్తీ చేయబడినప్పుడు ఆ పొర పడవేయబడుతుంది. అది కాన్ఫిగరేషన్ నిల్వ కాదు, బ్యాకప్ కూడా కాదు. image మరియు ప్రకటించిన ఇన్పుట్లే ఏమి నడుస్తుందో పూర్తి నిర్వచనం.
మీ ఏ VPN ఫైల్లు ప్రకటించిన ఇన్పుట్లు, ఏవి యాదృచ్ఛికం అని అడగండి:
docker diff wg-vpn
docker inspect --format '{{json .Mounts}}' wg-vpndiff వ్రాయగల పొరలో ఏమి మారిందో జాబితా చేస్తుంది, అది అదృశ్యమయ్యే వస్తువుల సమితి. mount జాబితా ఏమి నిలిచి ఉంటుందో చూపిస్తుంది. రెండింటిని పోల్చడం ఏదైనా కోల్పోయే ముందు ప్రశ్నకు సమాధానం ఇస్తుంది.
bind mount, పేరున్న volume లేదా secret: ప్రతిదీ ఏమి రక్షిస్తుంది
మూడూ VPN ప్రొఫైల్ను ఉంచుకోగలవు, ఎవరు చదవగలరు మరియు భర్తీ సమయంలో ఏమి జరుగుతుంది అనే విషయంలో అవి భిన్నం.
| Mechanism | Survives recreation | Who can read it |
|---|---|---|
| Writable layer | No | Anyone with container access, until it is gone |
| Bind mount | Yes, while the host path exists | Whatever the host permissions allow |
| Named volume | Yes, until the volume is removed | Managed by the runtime |
| Secret | Yes, as a declared input | The container process, by design |
bind mount ఒక host మార్గాన్ని మ్యాప్ చేస్తుంది, కాబట్టి ఫైల్ ఆ మార్గం ఎంత రక్షించబడితే అంత రక్షించబడుతుంది, host అనుమతులు ఇచ్చినంత కనిపిస్తుంది. పేరున్న volume runtime ద్వారా నిర్వహించబడుతుంది, కంటైనర్ తొలగించిన తర్వాత కూడా నిలిచి ఉంటుంది, ఇది డిప్లాయ్మెంట్ యాజమాన్యంలోని స్థితికి మరింత సురక్షితమైన డిఫాల్ట్గా చేస్తుంది. secret విధానం image లేదా environment variable లో మీకు వద్దని పదార్థం కోసం.
ప్రతి environment variable మరియు ప్రతి host ఫైల్ను సమాన రక్షణగా పరిగణించవద్దు, ఎందుకంటే అవి అలా కావు.
కంటైనర్ లోపల సవరణే ఉచ్చు
ఉచ్చు సాధనం కాదు, సవరణ దిశ. నడుస్తున్న కంటైనర్ లోపల చేసిన మార్పు డిప్లాయ్మెంట్కు కనిపించదు, కాబట్టి తదుపరి పునఃసృష్టి దాన్ని నిశ్శబ్దంగా వెనక్కి తిప్పుతుంది, లక్షణం image లో రిగ్రెషన్గా కనిపిస్తుంది. నిర్ధారణ కోసం అక్కడ మార్పు చేయాల్సి వస్తే, వెంటనే బయటకు కాపీ చేసి ప్రకటించిన ఇన్పుట్లో పెట్టండి. తర్వాత మళ్లీ సృష్టించి డిప్లాయ్మెంట్ దాన్ని పునఃఉత్పత్తి చేస్తుందని నిరూపించండి.
ప్రొఫైల్ ప్రైవేట్ కీలు మరియు ఖాతా పదార్థాన్ని కలిగి ఉండవచ్చు, ఇది ఆ ఫైల్ బ్యాకప్ను ఫైల్ కాపీ కాకుండా రహస్య నిర్వహణ పనిగా మారుస్తుంది. యాజమాన్యం మరియు చదివే ప్రాప్యతను కంటైనర్ యొక్క అసలు ప్రక్రియకు పరిమితం చేయండి, అనుమతి లోపం మాయమైపోవడానికి host డైరెక్టరీని విస్తరించడం బదులు.
ఆ విస్తరణే కంటైనర్ సౌలభ్యాన్ని host బహిర్గతంగా మారుస్తుంది.
ఉద్దేశపూర్వకంగా మళ్లీ సృష్టించి, తర్వాత నాలుగు విషయాలను ధృవీకరించండి
image వెర్షన్, అవసరమైన పరికరం మరియు సామర్థ్యాలు, నెట్వర్క్ కనెక్షన్ మరియు శాశ్వత ఇన్పుట్లను నమోదు చేయండి. పరికరం మరియు సామర్థ్యాల జాబితా VPN కంటైనర్కు ప్రత్యేకంగా ముఖ్యం, ఎందుకంటే టన్నెల్కు నెట్వర్క్ పరికరం మరియు దాన్ని కాన్ఫిగర్ చేసే అధికారం కావాలి.
ఏ జనరేట్ చేయబడిన రన్టైమ్ స్థితిని సేవ్ చేయకుండా మళ్లీ నిర్మించాలో నిర్ధారించండి. టన్నెల్ మొదటి ప్రారంభంలో జనరేట్ చేసిన కీలు స్థితి, వాటిని ఉంచుకోవడం లేదా మళ్లీ జనరేట్ చేయడం పాత పబ్లిక్ కీ తెలిసిన ప్రతి peer కు పరిణామాలు ఉన్న నిర్ణయం.
నియంత్రిత పునఃసృష్టి తర్వాత గుర్తింపు, రూటింగ్, DNS మరియు అవసరమైన వైఫల్య-బ్లాక్ను ధృవీకరించండి. లోపాలు లేకుండా ప్రారంభమయ్యే ప్రక్రియ ఆ నాలుగింటిలో ఏదీ నిరూపించదు. టన్నెల్ నడుస్తున్నప్పుడు మరియు ఆపిన తర్వాత మళ్లీ తనిఖీ చేయండి, ఎందుకంటే వైఫల్య-బ్లాక్ టన్నెల్ పోయినప్పుడే తనను చూపుతుంది.
కంటైనర్ వెలుపల రికవరీ కాపీని ఉంచండి
కంటైనర్ నుండి స్వతంత్రంగా జీవించే రికవరీ కాపీని ఉంచండి, మరియు డాక్యుమెంట్ చేయబడిన ప్రక్రియ ద్వారా దాన్ని పునరుద్ధరించడాన్ని పరీక్షించండి. VPN ప్రొఫైల్ యొక్క పరీక్షించని బ్యాకప్ ఒక ఆశ, ప్రత్యేకించి రికవరీ మార్గంలో కంటైనర్ ప్రక్రియకు అవసరమైన అనుమతులు ఉన్నప్పుడు.
VPN ఉన్న కంటైనర్ భర్తీ చేయబడితే, దాని నెట్వర్క్ స్టాక్ను పంచుకునే అప్లికేషన్లను runtime మద్దతు ఉన్న జీవిత చక్రంలో సమన్వయం చేయండి.
ఆ సమన్వయమే పునఃప్రారంభం మరియు అంతరాయం మధ్య వ్యత్యాసం. డిప్లాయ్మెంట్ కాన్ఫిగరేషన్ ఎక్కడి నుండి వస్తుందో వివరించాలి, volume డాక్యుమెంటేషన్ runtime నిజంగా ఏమి నిలుపుతుందో తనిఖీ చేసే చోటు.