Ako sa spoločnosť Docker snaží slúžiť miliónom vývojárov, časť 2: Odchádzajúce údaje

Ako sa spoločnosť Docker snaží slúžiť miliónom vývojárov, časť 2: Odchádzajúce údaje

Toto je druhý článok zo série článkov, ktoré sa budú zaoberať obmedzeniami pri sťahovaní obrázkov kontajnerov.

В prvá časť Pozreli sme sa bližšie na obrázky uložené v Docker Hub, najväčšom kontajnerovom registri obrázkov. Píšeme vám to preto, aby sme vám pomohli lepšie pochopiť, ako naše aktualizované zmluvné podmienky ovplyvnia vývojové tímy používajúce Docker Hub na správu obrázkov kontajnerov a kanálov CICD.

Obmedzenia frekvencie sťahovania boli predtým oznámené v našom Podmienky služby. Bližšie sa pozrieme na obmedzenia frekvencie, ktoré vstúpia do platnosti 1. novembra 2020:

Bezplatný plán, anonymní používatelia: 100 stiahnutí za 6 hodín
Bezplatný plán, autorizovaní používatelia: 200 stiahnutí za 6 hodín
Pro plán: Neobmedzený
Tímový tarifný plán: neobmedzený

Frekvencia sťahovania Docker je definovaná ako počet žiadostí o manifest do Docker Hub. Obmedzenia frekvencie sťahovania obrázkov sú založené na type účtu, ktorý obrázok požaduje, nie na type účtu, ktorý obrázok vlastní. Pre anonymných (neoprávnených) používateľov je frekvencia sťahovania viazaná na IP adresu.

NB Dostanete viac jemností a príkladov osvedčených postupov na kurze Docker od praktikov. Navyše si ho môžete vziať kedykoľvek sa vám to hodí – časovo aj náladovo.

Od zákazníkov a komunity dostávame otázky týkajúce sa vrstiev obrázkov kontajnera. Pri obmedzovaní frekvencie sťahovania nepočítame vrstvy obrázkov, pretože obmedzujeme sťahovanie manifestov a počet vrstiev (žiadostí o objekty blob) je momentálne neobmedzený. Táto zmena je založená na spätnej väzbe komunity, aby bola užívateľsky prívetivejšia, aby používatelia nemuseli počítať vrstvy na každom obrázku, ktorý použijú.

Podrobná analýza miery sťahovania obrázkov Docker Hub

Strávili sme veľa času analýzou sťahovania obrázkov z Docker Hub, aby sme zistili, čo spôsobilo obmedzenie rýchlosti a ako presne by sa malo obmedziť. To, čo sme videli, potvrdilo, že prakticky všetci používatelia sťahovali obrázky predvídateľnou rýchlosťou pre typické pracovné postupy. Je tu však badateľný vplyv malého počtu anonymných používateľov, napríklad asi 30 % všetkých stiahnutí pochádza len od 1 % anonymných používateľov.

Ako sa spoločnosť Docker snaží slúžiť miliónom vývojárov, časť 2: Odchádzajúce údaje

Nové obmedzenia sú založené na tejto analýze, takže väčšina našich používateľov nebude ovplyvnená. Tieto obmedzenia sú vytvorené tak, aby odrážali bežné používanie vývojárov – učenie Dockera, vývoj kódu, vytváranie obrázkov atď.

Pomôžte vývojárom lepšie pochopiť obmedzenie rýchlosti sťahovania

Teraz, keď sme pochopili vplyv, ako aj to, kde by mali byť hranice, potrebovali sme určiť technické podmienky fungovania týchto obmedzení. Obmedzenie sťahovania obrázkov z registra Docker je dosť ťažké. V popise registra nenájdete API na nahrávanie – jednoducho neexistuje. Sťahovanie obrázka je v skutočnosti kombináciou požiadaviek na manifest a objektov BLOB v rozhraní API, ktoré sa vykonávajú rôzne v závislosti od stavu klient a požadovaný obrázok.

Napríklad, ak už máte obrázok, Docker Engine vydá požiadavku na manifest, uvedomí si, že už má všetky požadované vrstvy na základe prijatého manifestu, a potom sa zastaví. Na druhej strane, ak stiahnete obrázok, ktorý podporuje viacero architektúr, dotaz na manifest vráti zoznam manifestov obrázkov pre každú podporovanú architektúru. Docker Engine potom vydá ďalšiu manifestovú požiadavku pre konkrétnu architektúru, na ktorej beží, a na oplátku dostane zoznam všetkých vrstiev v obrázku. Potom sa bude pýtať na každú chýbajúcu vrstvu (blob).

NB Táto téma je pokrytá širšie Docker kurz, v ktorom rozoberieme všetky jeho nástroje: od základných abstrakcií až po sieťové parametre, nuansy práce s rôznymi operačnými systémami a programovacími jazykmi. Oboznámite sa s technológiou a pochopíte, kde a ako najlepšie používať Docker.

Ukazuje sa, že sťahovanie obrázka je v skutočnosti jedna alebo dve žiadosti o manifest, ako aj od nuly do nekonečna - žiadosti o vrstvu (blob). Historicky Docker sledoval frekvenciu sťahovania na základe vrstvy po vrstve, pretože to je najviac spojené s využívaním šírky pásma. Napriek tomu sme počúvali komunitu, že je to zložitejšie, pretože musíte sledovať požadovaný počet vrstiev, čo povedie k ignorovaniu osvedčených postupov týkajúcich sa práce s Dockerfile a je to tiež intuitívnejšie pre používateľov, ktorí s ním chcú len pracovať. registra bez veľkého chápania detailov .

Preto obmedzujeme počet žiadostí na základe manifestných žiadostí. To priamo súvisí so sťahovaním obrázkov, čo je pre používateľov jednoduché. Existuje však malá nuansa - ak sa pokúsite stiahnuť obrázok, ktorý už existuje, požiadavka sa bude stále brať do úvahy, aj keď vrstvy nestiahnete. V každom prípade dúfame, že tento spôsob obmedzenia frekvencie sťahovania bude pre používateľov férový a pohodlný.

Čakáme na vašu spätnú väzbu

Budeme monitorovať obmedzenia a vykonávať príslušné úpravy na základe typických prípadov použitia, aby sme zaistili, že obmedzenia sú vhodné pre každý typ používateľa, a najmä sa budeme snažiť vývojárom nikdy nebrániť v ich práci.

Zostaňte naladení v nasledujúcich týždňoch na ďalší článok o nastavení CI a bojových systémov vo svetle týchto zmien.

Nakoniec, ako súčasť našej podpory pre komunitu s otvoreným zdrojom, do 1. novembra zverejníme nové cenové plány s otvoreným zdrojom. Ak sa chcete prihlásiť, musíte vyplniť formulár tu.

Ak chcete získať ďalšie informácie o najnovších zmenách zmluvných podmienok, kontaktujte nás FAQ.

Pre tých, ktorí potrebujú zvýšiť limit frekvencie sťahovania obrázkov, ponúka Docker ako funkciu neobmedzené sťahovanie obrázkov Pro alebo tímové plány. Ako vždy vítame spätnú väzbu a otázky. tu.

Zdroj: hab.com

Pridať komentár