Eng VPN-Konfiguratioun iwwerlieft d'Neierstellen vum Container nëmmen, wann s de se mountst
Eng Fichier, déi an engem lafenden Container editèiert gëtt, wunnt an enger Schicht, déi verschwënnt. Vergläich bind mounts, volumes a secrets, da stell nei a kontrolléier véier Saachen.
Du editèiers d'WireGuard-Konfiguratioun an engem lafenden Container, et funktionéiert, an de nächsten Image-Update läscht se. Näischt war falsch konfiguréiert. D'Fichier huet an der beschreifbarer Schicht vum Container gewunnt, déi nëmmen fir déi Container-Instanz existéiert. De Verglach, dee wichteg ass, ass net wéi en Tool s de brauchst, sondern wéi eng Engabë s d'Deployement deklaréiert. Alles, wat s de vun Hand editèiert hues, ass eng Engab, déi d'Deployement net kennt.
Zwee Aarte Staat, eng dovun ass ewechgehäit
E Container huet eng beschreifbar Schicht fir Ännerunge wärend der Lafzäit, an déi Schicht gëtt ewechgehäit, wann de Container ersat gëtt. Et ass kee Konfiguratiounsspäicher an et ass keng Savegarde. Den Image plus déi deklaréiert Engabë sinn déi ganz Definitioun vun deem, wat leeft.
Fro dech, wéi eng vun den VPN-Fichieren deklaréiert Engabë sinn a wéi eng Zufall:
docker diff wg-vpn
docker inspect --format '{{json .Mounts}}' wg-vpnDen Diff listet op, wat sech an der beschreifbarer Schicht geännert huet, an dat ass genee déi Rei Saachen, déi verschwënne wäerte. D'Mount-Lëscht weist, wat iwwerlieft. Béides ze vergläichen äntwert op d'Fro, ier s de eppes verléiers.
Bind mount, nominelle Volume oder Secret: wat all eenzele schützt
All dräi kënnen e VPN-Profil halen, an se ënnerscheede sech doranner, wien en liese kann a wat bei der Ersetzung geschitt.
| 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 |
E bind mount mappt en Host-Pad, also ass d'Fichier sou geschützt wéi dee Pad an sou sichtbar wéi d'Rechter vum Host et erlaben. En nominellen Volume gëtt vun der Runtime geréiert an iwwerlieft d'Ewechhuele vum Container, wat en zur méi sécherer Standardoptioun mécht fir de Staat, deen d'Deployement besëtzt. E Secret-Mechanismus ass fir Material, wat s de net an engem Image oder enger Ëmfeldvariabel wëlls.
Behandel net all Ëmfeldvariabel an all Host-Fichier als gläichwäertege Schutz, well se et net sinn.
Am Container editèieren ass d'Fal
D'Fal ass net den Tool, mee d'Richtung vun der Edit. Eng Ännerung, déi an engem lafenden Container gemaach gëtt, ass fir d'Deployement onsiichtbar, dofir setzt déi nächst Neierstellung se stëll zréck an de Symptom gesäit aus wéi eng Regressioun am Image. Wann s de do eng Ännerung misst maachen fir ze diagnostizéieren, kopéier se direkt eraus an setz se an déi deklaréiert Engab. Da stell nei, fir ze beweisen, datt d'Deployement se reproduzéiert.
E Profil kann privat Schlësselen an Kontmaterial droen, wat eng Savegarde vun där Fichier zu enger Aufgabe fir de Ëmgang mat Geheimnisser mécht an net zu enger Fichierskopie. Halt d'Eegentum an de Lieszougrëff begrenzt op de richtegen Prozess vum Container, amplaz en Host-Verzeechnis ze vergréisseren, fir datt e Berechtegungsfehler verschwënnt.
Déi Vergréisserung ass de Wee, wéi eng Bequemlechkeet am Container eng Ausstellung vum Host gëtt.
Stell bewosst nei a kontrolléier da véier Saachen
Notéier d'Image-Versioun, dat noutwennegt Gerät an d'Fäegkeeten, d'Netzwierkverbindung an déi permanent Engabë. D'Lëscht vun Gerät a Fäegkeeten ass besonnesch wichteg fir e VPN-Container, well den Tunnel d'Netzwierkgerät an d'Privileg brauch, et ze konfiguréieren.
Bestäteg, wéi ee generéierte Lafzäitstaat soll nei opgebaut ginn amplaz gespäichert ze ginn. D'Schlësselen, déi den Tunnel beim éischte Start generéiert huet, sinn Staat, an ob s de se behältst oder nei generéiers, ass eng Entscheedung mat Konsequenze fir all Peer, deen den ale ëffentleche Schlëssel kennt.
No enger kontrolléierter Neierstellung kontrolléier Identitéit, Routing, DNS an de noutwennege Feelerblock. E Prozess, deen ouni Feeler start, beweise kee vun deenen véier. Kontrolléier et, wärend den Tunnel leeft, an nach eng Kéier, nodeems s de en gestoppt hues, well de Feelerblock sech nëmmen dann weist, wann den Tunnel fort ass.
Halt eng Restauratiounskopie ausserhalb vum Container
Halt eng Restauratiounskopie, déi onofhängeg vum Container lieft, a test d'Restauréiere iwwer de dokumentéierte Prozess. Eng ongetest Savegarde vun engem VPN-Profil ass eng Hoffnung, besonnesch wann de Restauratiounswee Berechtegungen enthält, déi de Containerprozess brauch.
Wann e Container, deen eng VPN besëtzt, ersat gëtt, koordinéier d'Applikatiounen, déi säin Netzwierkstack deelen, am ënnerstëtzten Liewenszyklus vun der Runtime.
Déi Koordinatioun ass den Ënnerscheed tëscht engem Neistart an enger Stéierung. D'Deployement soll beschreiwen, wou d'Konfiguratioun hierkënnt, an d'Volume-Dokumentatioun ass dee Plaz, wou s de kontrolléiers, wat d'Runtime tatsächlech versuergt.