د VPN کنټینر شبکه شریکول: له DNS سره څه پیښیږي
شریکه نومځای ستاسو اپلیکیشن ته د تونل انټرفېسونه درکوي، نه یو ګډ ریزولور. د اپلیکیشن له داخله ازموینه وکړئ او هغه DNS ترتیب وکاروئ چې رنټایم یې ملاتړ کوي.
د VPN کنټینر د شبکې نومځای شریکول ستاسو اپلیکیشن ته د تونل انټرفېسونه او لارې درکوي۔ دا هغه ته د تونل ریزولور نه ورکوي، او نه د کوربه په سر د بل هر څه ګډه کاپي۔ دا تشه ډېره ځانګړې نیمګړتیا رامنځته کوي: عام نومونه حل کیږي، داخلي نومونه نه، او هغه اپ چې ناکامه کیږي داسې ښکاري چې غلط DNS سرور کاروي، ځکه چې واقعاً هماغه کوي۔ ترمیم معمولاً له هغه څخه کوچنی وي چې تشخیص یې وړاندیز کوي۔
ګام 1: له کوربه نه نه، له اپ ازموینه وکړئ
لټون د هغه کنټینر په داخل کې چل کړئ چې ستونزه لري، نه په کوربه او نه په براوزر کې۔ docker exec app-container getent hosts db.internal یوازینۍ مهمې پوښتنې ته ځواب ورکوي: د دې پروسې ریزولور څه بیرته راګرځوي۔
که کوربه نوم حل کړي او کنټینر یې نه حل کوي، تاسو نیمګړتیا موندلې ده۔ له دې وروسته هر څه د سمولو یوه ملاتړ شوې لاره غوره کول دي۔
ګام 2: د رنټایم ملاتړ شوی ماډل ولولئ
د Docker د شبکې اسناد د هغو کنټینرونو لپاره چې د بل کنټینر شبکهیي حالت شریکوي د DNS بیرغونو باندې محدودیتونه ثبتوي۔ په Compose کې network_mode: service:vpn اپ له VPN کنټینر نومځای سره تړي، او د هر خدمت لپاره dns تنظیمات د عادي خدمت په څېر چلند نه کوي۔ هغه حل چې ترلاسه کوئ هماغه دی چې شریک نومځای یې لري۔
د کاروونکي لخوا تعریف شوي پل شبکې هم د Docker جوړ شوی DNS د ډیفالټ پل څخه په بل ډول کاروي۔ له همدې امله dns یو بند چې له یو کار کوونکي پل مثال څخه کاپي شوی وي په شریک سټیک کې هیڅ هم نه شي کولی۔ د بند له کاپي کولو مخکې ترتیب وګورئ۔
د لوپبیک پته تل اړوند شبکهیي شرایطو ته اشاره کوي۔ د شریک نومځای په داخل کې، 127.0.0.1 د کوربه ریزولور نه دی۔
ګام 3: پوښتنه تر خپل ترلاسه کوونکي تعقیب کړئ
د اپ د ریزولور ترتیب ولولئ، بیا هر هغه اپځانګړی کوډ شوی DNS چې اپ یې راوړي، ځکه چې خپل ریزولور چلوونکی اپ هغه فایل له پامه غورځوي چې تاسو یې سم کړی دی۔ بیا وګورئ چې ټاکل شوی ریزولور د VPN لارو او فایر وال تګلارې لاندې د لاسرسي وړ دی که نه۔ د تونل په بل اړخ کې د ریزولور پته بې ګټې ده که نومځای ته هغې ته لار نه وي۔ د هر فایل له سمولو مخکې ترلاسه کوونکی تایید کړئ۔
په براوزر کې د IP د کتنې پاڼه نشي کولی ووایي چې د نوم پوښتنې چېرته لاړې۔ دا وایي چې یو HTTP اړیکه چېرته لاړه۔
ګام 4: دوه د ناکامۍ طبقې په جلا توګه سمې کړئ
که د خدمت نومونه ناکام شي پداسې حال کې چې عام نومونه کار کوي، ستونزه د کنټینر شبکې په داخل کې د خدمت موندنه ده، نه د عامو ریزولورونو لیست۔ د هر عام DNS پتې بدلول هغه ریکارډونه نه جوړوي چې د شبکې د موندنې میکانیزم څخه هیڅکله نه دي غوښتل شوي۔
که دواړه طبقې ناکامې شي، د ریزولور د لاسرسي له پیل وکړئ۔ که یوازې یوه ناکامه شي، د موندنې میکانیزم څخه پیل وکړئ۔ دواړه بېل مالکین لري، له همدې امله یو ترمیم هیڅکله دواړه نه پوښي۔
ګام 5: د بیا جوړولو وروسته بیا ازموینه وکړئ
ترتیب د رنټایم د ملاتړ شوي میکانیزم له لارې بدل کړئ، بیا کنټینرونه بیا جوړ کړئ پرځای د دې چې په چلیدونکي کنټینر کې فایلونه سم کړئ۔ یو نوی خصوصي نوم، یو نوی عام نوم او د لټون وروسته د اپ غوښتنه ازموئ۔ /etc/resolv.conf په کنټینر کې سمون د بیا جوړولو په وخت ورک کیږي او تاسو ته قناعت درکوي چې ترمیم کار وکړ کله چې ونه کړ۔
د ریزولور مالک او تمه شوی نومځای د شریکې شبکې تعریف ترڅنګ ولیکئ۔ بل کس به دواړه ته اړتیا ولري۔