VPN konfiqurasiyası konteyner yenidən yaradılanda yalnız host qovluğunu bağlamaqla qalır
İşləyən konteynerin içində redaktə edilən fayl yox olan layda yaşayır. Bind-mount, volume və secret-ləri müqayisə edin, sonra yenidən yaradın və dörd şeyi yoxlayın.
WireGuard konfiqurasiyasını işləyən konteynerin içində redaktə edirsiniz, işləyir, və növbəti image yeniləməsi onu silir. Heç nə səhv konfiqurasiya olunmamışdı. Fayl konteynerin yalnız həmin konteyner nüsxəsi üçün mövcud olan yazıla bilən layında yaşayırdı. Vacib olan müqayisə hansı alətdən istifadə etmək deyil, yerləşdirmənizin hansı girişləri bəyan etməsidir. Əl ilə redaktə etdiyiniz hər şey yerləşdirmənin bilmədiyi bir girişdir.
İki növ vəziyyət, biri atıla biləndir
Konteynerin işləmə zamanı edilən dəyişikliklər üçün yazıla bilən layı var və konteyner dəyişdiriləndə həmin lay atılır. O, konfiqurasiya anbarı deyil və ehtiyat nüsxə deyil. Image və bəyan edilmiş girişlər nəyin işlədiyinin tam tərifidir.
VPN fayllarınızdan hansının bəyan edilmiş giriş, hansının təsadüf olduğunu soruşun:
docker diff wg-vpn
docker inspect --format '{{json .Mounts}}' wg-vpndiff yazıla bilən layda nəyin dəyişdiyini sadalayır və bu, məhz yox olacaq şeylər çoxluğudur. Mount siyahısı nəyin qaldığını göstərir. İkisini müqayisə etmək heç nə itirməzdən əvvəl sualı cavablandırır.
Bind-mount, adlandırılmış volume və ya secret: hər biri nəyi qoruyur
Üçü də VPN profili saxlaya bilər və onlar kimin oxuya bilməsində və dəyişdirmə zamanı nə baş verməsində fərqlənir.
| 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 yolunu xəritələyir, yəni fayl o yol qədər qorunur və hostun icazələri qədər görünür. Adlandırılmış volume runtime tərəfindən idarə olunur və konteyner silinəndə qalır, bu da onu yerləşdirmənin sahib olduğu vəziyyət üçün daha təhlükəsiz standart edir. Secret mexanizmi image-də və ya mühit dəyişənində istəmədiyiniz material üçündür.
Hər mühit dəyişənini və host faylını bərabər mühafizə kimi qəbul etməyin, çünki belə deyillər.
Konteynerin içində redaktə etmək tələdir
Tələ alət deyil, redaktənin istiqamətidir. İşləyən konteynerin içində edilən dəyişiklik yerləşdirmə üçün görünməzdir, ona görə növbəti yenidən yaratma onu səssizcə geri qaytarır və simptom image-də reqressiya kimi görünür. Əgər diaqnoz üçün orada dəyişiklik etmək lazımdırsa, dərhal bayıra kopyalayın və bəyan edilmiş girişə qoyun. Sonra yerləşdirmənin onu təkrar istehsal etdiyini sübut etmək üçün yenidən yaradın.
Profil şəxsi açarlar və hesab materialı daşıya bilər, bu da həmin faylın ehtiyat nüsxəsini fayl kopyası deyil, sirr idarəetməsi tapşırığı edir. Sahibliyi və oxuma girişini konteynerin faktiki prosesi ilə məhdudlaşdırın, icazə xətasını yox etmək üçün host qovluğunu genişləndirməyin.
Bu genişləndirmə konteyner rahatlığının host ifşasına çevrildiyi yoldur.
Qəsdən yenidən yaradın, sonra dörd şeyi yoxlayın
Image versiyasını, tələb olunan cihazı və imkanları, şəbəkə qoşulmasını və davamlı girişləri qeyd edin. Cihaz və imkan siyahısı VPN konteyneri üçün xüsusi əhəmiyyət daşıyır, çünki tunel şəbəkə cihazına və onu konfiqurasiya etmək imtiyazına ehtiyac duyur.
Hansı yaradılmış işləmə vəziyyətinin saxlanmaq əvəzinə yenidən qurulmalı olduğunu təsdiqləyin. Tunelin ilk başlamada yaratdığı açarlar vəziyyətdir və onları saxlamağınız və ya yenidən yaratmağınız köhnə açıq açarı bilən hər peer üçün nəticələri olan qərardır.
Nəzarətli yenidən yaratmadan sonra kimliyi, marşrutlaşdırmanı, DNS-i və tələb olunan uğursuzluq blokunu yoxlayın. Xətasız başlayan proses bu dörd şeyin heç birini sübut etmir. Bunu tunel işləyərkən və onu dayandırdıqdan sonra yenidən yoxlayın, çünki uğursuzluq bloku yalnız tunel getdikdə özünü göstərir.
Konteynerdən kənarda bərpa nüsxəsi saxlayın
Konteynerdən asılı olmayan bərpa nüsxəsi saxlayın və onun sənədləşdirilmiş proseslə bərpasını sınaqdan keçirin. VPN profilinin sınanmamış ehtiyat nüsxəsi bir ümiddir, xüsusən bərpa yolu konteyner prosesinin ehtiyac duyduğu icazələri əhatə edəndə.
VPN-ə sahib konteyner dəyişdirilirsə, onun şəbəkə yığınını paylaşan tətbiqləri runtime-ın dəstəklənən həyat dövründə əlaqələndirin.
Bu əlaqələndirmə yenidən başlatma ilə kəsinti arasındakı fərqdir. Yerləşdirmə konfiqurasiyanın haradan gəldiyini təsvir etməlidir və volume sənədləşməsi runtime-ın həqiqətən nəyi saxladığını yoxlamaq üçün yerdir.