Konfigurasi VPN hanya kekal selepas kontena dicipta semula jika anda memasangnya
Fail yang diedit di dalam kontena yang berjalan hidup dalam lapisan yang hilang. Bandingkan bind mount, volume dan secret, kemudian cipta semula dan sahkan empat perkara.
Anda mengedit konfigurasi WireGuard di dalam kontena yang berjalan, ia berfungsi, dan kemas kini image seterusnya memadamkannya. Tiada apa yang salah dikonfigurasikan. Fail itu hidup dalam lapisan boleh tulis kontena, yang wujud hanya untuk instans kontena itu. Perbandingan yang penting bukanlah alat mana yang digunakan, tetapi input mana yang diisytiharkan oleh penggunaan anda. Apa sahaja yang anda edit dengan tangan ialah input yang tidak diketahui oleh penggunaan.
Dua jenis keadaan, satu daripadanya boleh dibuang
Kontena mempunyai lapisan boleh tulis untuk perubahan yang dibuat pada masa jalan, dan lapisan itu dibuang apabila kontena diganti. Ia bukan stor konfigurasi dan bukan sandaran. Image serta input yang diisytiharkan ialah definisi penuh tentang apa yang berjalan.
Tanya fail VPN anda yang mana satu input yang diisytiharkan dan yang mana satu kebetulan:
docker diff wg-vpn
docker inspect --format '{{json .Mounts}}' wg-vpnDiff menyenaraikan apa yang berubah dalam lapisan boleh tulis, dan itu tepat set perkara yang akan hilang. Senarai mount menunjukkan apa yang kekal. Membandingkan kedua-duanya menjawab soalan sebelum anda kehilangan apa-apa.
Bind mount, volume bernama atau secret: apa yang dilindungi oleh setiap satu
Ketiga-tiganya boleh menyimpan profil VPN, dan ia berbeza dari segi siapa yang boleh membacanya dan apa yang berlaku semasa penggantian.
| 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 memetakan laluan hos, jadi fail itu terlindung sejauh laluan itu terlindung dan kelihatan sejauh kebenaran hos membenarkan. Volume bernama diuruskan oleh runtime dan kekal selepas kontena dibuang, yang menjadikannya lalai yang lebih selamat untuk keadaan yang dimiliki oleh penggunaan. Mekanisme secret adalah untuk bahan yang anda tidak mahu dalam image atau pemboleh ubah persekitaran.
Jangan anggap setiap pemboleh ubah persekitaran dan setiap fail hos sebagai perlindungan yang setara, kerana ia bukan.
Mengedit di dalam kontena ialah perangkapnya
Perangkapnya bukan alat, tetapi arah pengeditan. Perubahan yang dibuat di dalam kontena yang berjalan tidak kelihatan kepada penggunaan, jadi penciptaan semula seterusnya membatalkannya secara senyap dan gejalanya kelihatan seperti regresi dalam image. Jika anda perlu membuat perubahan di sana untuk diagnosis, salin keluar dengan segera dan letakkan dalam input yang diisytiharkan. Kemudian cipta semula untuk membuktikan penggunaan itu menghasilkannya semula.
Profil boleh membawa kunci peribadi dan bahan akaun, yang menjadikan sandaran fail itu tugas pengendalian rahsia dan bukan salinan fail. Kekalkan pemilikan dan akses baca terhad kepada proses sebenar kontena, bukannya meluaskan direktori hos supaya ralat kebenaran hilang.
Peluaan itulah yang menjadikan kemudahan dalam kontena sebagai pendedahan hos.
Cipta semula dengan sengaja, kemudian sahkan empat perkara
Catat versi image, peranti dan keupayaan yang diperlukan, sambungan rangkaian dan input berterusan. Senarai peranti dan keupayaan amat penting untuk kontena VPN, kerana terowong memerlukan peranti rangkaian dan keistimewaan untuk mengkonfigurasinya.
Sahkan keadaan masa jalan yang dijana mana yang perlu dibina semula dan bukan disimpan. Kunci yang dijana terowong pada permulaan pertama ialah keadaan, dan keputusan untuk menyimpannya atau menjananya semula mempunyai akibat kepada setiap peer yang mengetahui kunci awam lama.
Selepas penciptaan semula terkawal, sahkan identiti, penghalaan, DNS dan blok kegagalan yang diperlukan. Proses yang bermula tanpa ralat tidak membuktikan satu pun daripada keempat-empatnya. Periksa semasa terowong aktif dan sekali lagi selepas anda menghentikannya, kerana blok kegagalan hanya menunjukkan dirinya apabila terowong hilang.
Simpan salinan pemulihan di luar kontena
Simpan salinan pemulihan yang hidup secara bebas daripada kontena, dan uji memulihkannya melalui proses yang didokumenkan. Sandaran profil VPN yang belum diuji ialah harapan, terutamanya apabila laluan pemulihan melibatkan kebenaran yang diperlukan oleh proses kontena.
Jika kontena pemilik VPN diganti, selaraskan aplikasi yang berkongsi tindanan rangkaiannya dalam kitaran hayat yang disokong oleh runtime.
Penyelarasan itulah perbezaan antara permulaan semula dan gangguan. Penggunaan harus menerangkan dari mana konfigurasi datang, dan dokumentasi volume ialah tempat untuk memeriksa apa yang sebenarnya dikekalkan oleh runtime.