VPN-ийн тохиргоо контейнерыг дахин үүсгэхэд зөвхөн түүнийг mount хийсэн тохиолдолд үлдэнэ
Ажиллаж буй контейнер дотор зассан файл алга болдог давхаргад амьдардаг. 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 эсвэл орчны хувьсагчид таалагдахгүй материалд зориулагдсан.
Орчны хувьсагч, host-ын файл бүрийг адил хамгаалалт гэж бүү үзээрэй, учир нь тэд тийм биш.
Контейнер дотор засах нь хавх
Хавх нь хэрэгсэл биш, харин засварын чиглэл юм. Ажиллаж буй контейнер дотор хийсэн өөрчлөлт нь байршуулалтад үл үзэгдэх тул дараагийн дахин үүсгэлт үүнийг чимээгүй буцааж, шинж тэмдэг нь image-ийн регресс мэт харагдана. Оношилгооны үүднээс тэнд өөрчлөлт хийх шаардлагатай бол нэн даруй гадагш хуулж, зарласан оролтод хийгээрэй. Дараа нь байршуулалт үүнийг дахин үүсгэж байгааг батлахын тулд дахин үүсгээрэй.
Профайл нь хувийн түлхүүр, бүртгэлийн материал агуулж болох тул тэр файлын нөөц хуулбар нь файл хуулах биш, нууц мэдээлэлтэй ажиллах ажил болдог. Эзэмшил, унших эрхийг контейнерын бодит процессоор хязгаарлаж, зөвшөөрлийн алдаа арилуулахын тулд host-ын хавтасыг өргөжүүлэхээс зайлсхийгээрэй.
Яг тэр өргөжүүлэлт нь контейнер дахь тав тухыг host-ын илрэл болгодог.
Зориуд дахин үүсгэж, дараа нь дөрвөн зүйлийг шалгана уу
image-ийн хувилбар, шаардлагатай төхөөрөмж ба боломжууд, сүлжээний холболт, байнгын оролтуудыг тэмдэглээрэй. Төхөөрөмж, боломжийн жагсаалт VPN контейнерт онцгой чухал, учир нь туннельд сүлжээний төхөөрөмж болон түүнийг тохируулах эрх хэрэгтэй.
Үүссэн ажиллагааны төлөвөөс алийг нь хадгалахын оронд дахин бүтээх ёстойг баталгаажуулаарай. Туннель анх эхлэхэд үүсгэсэн түлхүүрүүд нь төлөв бөгөөд тэдгээрийг хадгалах эсвэл дахин үүсгэх нь хуучин нийтийн түлхүүрийг мэддэг peer бүрт үр дагавартай шийдвэр юм.
Хяналттай дахин үүсгэлтийн дараа таних тэмдэг, маршрутлал, DNS болон шаардлагатай алдааны блокийг шалгана уу. Алдаагүй эхэлдэг процесс эдгээр дөрвийн алийг ч батлахгүй. Туннель ажиллаж байхад, мөн зогсоосны дараа дахин шалгаарай, учир нь алдааны блок нь туннель алга болсон үед л илэрдэг.
Контейнерын гадна сэргээх хуулбар хадгалаарай
Контейнероос хамааралгүй амьдардаг сэргээх хуулбарыг хадгалж, баримтжуулсан процессоор сэргээхийг туршаарай. VPN профайлын шалгаагүй нөөц хуулбар нь найдлага бөгөөд ялангуяа сэргээх зам нь контейнерын процессд хэрэгтэй зөвшөөрлүүдийг агуулж байвал.
VPN эзэмшдэг контейнерыг сольсон бол түүний сүлжээний стекыг хуваалцдаг програмуудыг runtime-ын дэмждэг амьдралын мөчлөгт зохицуулаарай.
Тэр зохицуулалт нь дахин эхлүүлэх болон тасалдлын ялгаа юм. Байршуулалт нь тохиргоо хаанаас ирдэгийг тайлбарлах ёстой бөгөөд volume-ын баримт бичиг нь runtime үнэхээр юу хадгалдгийг шалгах газар юм.