Konteynarada isla markiiba ku baxa exec format error waxay kiciso dareen khaldan: kordhinta awood, rakibidda qalab, beddelidda habaynta tunnel-ka. Midkoodna ma gaaro dhibaatada. Kernel-ku ma uusan geli karin binary-ga haba yaraatee, taas oo konteynar gudaheed ah inta badan ka dhigan tahay in sawirku ujeeddo leeyahay qaab-dhismeed CPU ka duwan kan martida. Wax kasta oo aad ka beddeli karto dariiqyada, aqoonsiga ama mudnaanta waxay dhacdaa ka dib marka barnaamij bilaabmo, mana jiro barnaamij bilaabmay.

Fariinta bilaabista ee u eg khalad habayn

Guuldarrada qaabka exec waxay ka timaaddaa loader-ka, ka hor inta aysan barnaamijku akhrin hal dejinn. Sidaas darteed ma soo saarto digniin habayn ama diiwaan tunnel, sababtoo ah ma jiro geedi nololeed oo qora. Guuldarraduna aad bay u degdeg badan tahay, inta badan ka hor inta aysan xitaa hal sadar ka soo muuqan diiwaanka konteynarka. Isla fariinta gaaban waxay soo muuqataa haddii binary-gu ujeeddo qaab-dhismeed kale, nidaam hawleed kale, ama uu burbursan yahay.

Diiwaangeli deegaanka socodka iyo qaab-dhismeedka oo ay la socoto tixraaca sawirka ee saxda ah, ka dibna hubi waxa tixraacaasi dhab ahaan bixiyo. Docker Desktop dhexdiisa madalka konteynarku waxay ka tirsan tahay mishiinka farsamada Linux ee ma aha laptop-ka, sidaas darteed qaab-dhismeedka martida oo keliya ayaa marin habaabin kara. Akhri liiska gelitaanka tusmada ee tixraacan, ee ma aha qoraalka suuqgeyn ee bogga sumadda.

Akhri tusmada sawirka ka hor amarka socodka

Marka diiwaan-gelintu daabacdo tixraac madal-badan, sumaddu waxay tilmaamaysaa tusmo, gelitaan kastaana wuxuu magacaabaa madal leh digest u gaar ah. Baadh tixraaca la eegayo ee ma aha sumad deris ah, oo akhri tusmada halkii aad ka malayn lahayd waxa ku jira.

docker buildx imagetools inspect ghcr.io/example/vpn:1.4
docker image inspect --format '{{.Os}}/{{.Architecture}}' ghcr.io/example/vpn:1.4

Amarka koowaad wuxuu taxaa madallada uu tixraacu daabaco. Kan labaad wuxuu soo sheegaa madalka sawirka horey ugu jira gudaha, waana kan deegaanka socodku socodsiin doono. Tixraac leh hal gelitaan oo keliya waxay ka dhigan tahay in marti kastaa hesho isla binary-ga, sumadduna ma caawin karto mishiin aan waligeed loo dhisin.

Sumaduhu waxay dooranayaan nooc; ma abuuraan

Tusmada madal-badan wuxuu u oggolaanayaa deegaanka socodka inuu doorto gelitaan u dhigma, taas oo runtii ku habboon oo inta badan lagu khaldo la-qabsashada. Doorashadu waa raadin, ma aha turjumaad: haddii nooca maqan yahay, ma jiro wax la dooran karo. Sidaas darteed isla sumaddu laba marti waxay u horseedi kartaa laba binary oo kala duwan, halka hal marti aysan u horseedin wax la isticmaali karo.

Ku xidhidda digest waxay meesha ka saartaa shakiga waxayna suurtageliso dib-u-eegis dambe, sababtoo ah digest-ku wuxuu si sax ah u aqoonsadaa baytisyada la tijaabiyay. Kaydi digest-kaas oo la socda diiwaanka geynta, halkii aad ku tiirsanaan lahayd sumadda si kadis ah u jirtay.

Emulation waa heshiis, ma aha lakab turjumaad

Emulation iyada oo loo marayo deegaan socod oo la taageeray waxay socodsiin kartaa qaar ka mid ah culaysyada isticmaale ee aan asalka ahayn, sidaas darteed sheegashada buuxda ee ah in hal qaab-dhismeed uusan waligiis socodsiin karin sawirka mid kale waa khalad. Sidoo kale ma aha xal guud. Socodka la emule-gareeyay wuxuu leeyahay sifooyin waxqabad oo kala duwan, geedi yar oo bilaabmaana wax kama sheego in culayska tunnel-ku u dhaqmo si la aqbali karo.

Hagaha madal-badan ee Docker wuxuu u arkaa dhismaha asalka ah, isku-dubaridka iyo emulation inay yihiin istaraatijiyado gaar ah, taasna waa habka saxda ah ee akhrinta xulashooyinka. Dooro mid si ula kac ah, oo qiimee culayska VPN iyada hoosteeda halkii aad ka malayn lahayd isku-dhigmaan.

Ogolaanshuhu waxay xalliyaan dhibaato kale

Bixinta awood maamul shabakad ama gudbinta qalab TUN ma awoodi karto in fayl fulin oo aan ku habboonayn uu socdo. Kuwani waa ogolaansho socod oo geedi socda isticmaalo; waxay ku qarsoon yihiin loader-ka horey u diiday faylka.

Isdabamarintuna sidoo kale waa run. Binary asalka ah waxba kama caddeeyo mudnaanta, gelitaanka qalabka, isku-dhafka resolver ama siyaasadda dib-u-bilaabista ee tunnel-ku u baahan yahay, sidaas darteed konteynar bilaabma weli ma aha konteynar shaqeeya. Marka hore dhisi heshiiska madalka, ka dib u gudub heshiiska socodka oo la socda xulashooyinkiisa la diiwaangeliyay.

Kaydi digest-ka sawirka, bartilmaameedka la taageeray iyo habaynta oo wada jira isla diiwaan. Cusboonaysiinta sumad ee si aamusnaan ah u beddela qaab-dhismeedka ayaa fudud in la qabto marka digest-kii hore qoran yahay, marka calaamadda kaliya ay tahay khalad la yaqaan iyo galab cusub oo lagu qaatay debugging.

Maqaallo la xiriira