VPN yana aiki, mai bincike yana isa shafukan cikin gida, amma kwandon har yanzu ba ya iya warware ire-iren waɗannan sunaye. Shigar fakitin ya mutu da kuskuren warware suna kamar EAI_AGAIN, ko kuma wani aikace-aikace ba ya samun uwar gidan bayanai da na'urar uwar gida ke warware ba tare da wata ƙorafi ba. Kwandon ba ya amfani da mai warware da VPN ya shigar. Docker ya kwafi saitin mai warware na uwar gida lokacin da aka ƙirƙiri kwandon, kuma babu abin da ya sake kwafa shi bayan haka.

Ra'ayoyi biyu na mai warware a na'ura ɗaya

A Linux, Docker yana ba kowane kwando kwafin saitin mai warware na uwar gida a lokacin ƙirƙira, yana tace adiresoshin loopback, kuma yana gudanar da sabar DNS da aka saka a 127.0.0.11 wadda ke tura tambayoyi waje. Abokin ciniki na VPN da ya sake rubuta /etc/resolv.conf bayan kwandon ya fara ba ya canza komai a cikinsa. Sake kunna kwandon yana taimakawa ne kawai idan mai warware na uwar gida ya kasance daidai a wannan lokacin bisa kwatsam.

Docker Desktop a macOS ko Windows yana ƙara wani mataki, domin daemon yana rayuwa a cikin na'urar kama-da-wane. Wataƙila mai warware na VPN na uwar gida ba zai taɓa ganuwa ga wannan VM ba, don haka sake kunna ba ya canza komai kwata-kwata. Kwatanta ra'ayoyin biyu kafin ka zaɓi magani: docker exec mycontainer cat /etc/resolv.conf gefe da jerin masu warware na uwar gida.

Kwandon da ke jera mai warware na jama'a yayin da uwar gida ke jera na ciki zai warware sunayen jama'a kuma ya kasa na ciki. Wannan rarrabuwar ita ce sa hannun wannan matsala.

Zaɓi A: kai mai warware na rami ga kowane kwando

Docker yana karɓar saitunan DNS ga kowane kwando, kuma wannan shi ne mafi ƙarancin canji da ke aiki. Da farko karanta adiresoshin mai warware na VPN: scutil --dns a macOS, resolvectl status ko fitar da matsayin abokin ciniki da kansa a Linux. Sannan ka kunna kwandon da su, misali docker run --dns 192.168.2.1 --dns 192.168.123.1 myimage. A Compose wannan saitin ɗaya jerin ne a ƙarƙashin sabis ɗin, inda yake rayuwa a cikin sarrafa sigar maimakon tarihin shell na wani.

Tsarin dns a cikin /etc/docker/daemon.json yana aiki ga kowane sabon kwando, wanda ke jin ya fi tsari kuma ba haka yake ba. Yana kuma aiki lokacin da ramin ya faɗi, kuma mai warware da ake samu kawai ta VPN yana karya jan hotuna na yau da kullum a lokacin. Saitunan kowane kwando sun fi sauƙin bayani kuma sun fi sauƙin soke.

Zaɓi B: bar kwandon ya raba hanyar sadarwar uwar gida

Hanyar sadarwar uwar gida tana ƙetare kwafin gaba ɗaya, domin kwandon yana amfani da mai warware na uwar gida da ramin uwar gida. Tana kuma cire keɓewar hanyar sadarwar da wataƙila kake so, kuma ba ta yin ɗabi'a ɗaya a ƙarƙashin Docker Desktop. A Linux ita ce zaɓin da ya dace ga kayan aiki na lokaci ɗaya wanda dole ya warware sunayen ciki.

Ga builds, babu ɗaya daga cikin zaɓuɓɓukan biyu da ke aiki, domin matakan build ba sa gado tutoci na lokacin aiki. Yi build da hanyar sadarwar uwar gida inda dandamali ya yarda, ko ka ajiye shigar abubuwan dogaro a wani mataki da ba ya buƙatar ramin.

Abin da babu ɗaya daga cikin zaɓuɓɓukan da ke gyara

Adireshin DNS ba shi da amfani idan kwandon ba shi da hanya zuwa gare shi. Mai warware na VPN yawanci yana zaune a cikin sararin adireshi na ramin, don haka kwandon yana buƙatar hanya zuwa wannan prefix. Gadar da ta dace ta Docker yawanci tana turawa waje ta uwar gida, kuma hakan ya isa idan uwar gida tana da hanyar ramin kuma an kunna turawa gaba. Hanyoyin sadarwar gada na musamman da nasu wuraren adireshi na iya yin karo da subnet na VPN, sannan tambayoyin suna zuwa wani wuri dabam gaba ɗaya.

Duba subnet na hanyar sadarwar Docker da subnet na VPN kafin ka gyara mai warware da kansa. Haɗuwa yana haifar da gazawa da ke kama da sabar DNS da ta lalace daidai.

Tabbatar a cikin kwandon

Gwada da getent hosts db.internal a cikin kwandon maimakon da mai bincike ko yanayin aiki na harshe, domin waɗannan suna aiwatar da manufofin DNS nasu da ajiyar nasu. Idan getent ya warware sunan kuma aikace-aikacen har yanzu ya kasa, mai warware yanzu daidai ne kuma sauran matsalar ta matakin aikace-aikace ce. Idan bai warware ba, matakin DNS bai kammala ba.

Sake ƙirƙirar kwandon bayan ka canza saitunan DNS ɗinsa. Gyara /etc/resolv.conf a cikin kwando mai gudana yana ɓacewa tare da shi kuma yana ɓoye matsalar saitin na tsawon da wani zai ɗauka ya sake kunna shi daidai.

Labarai masu alaƙa