Toto je druhý článok zo série článkov, ktoré sa budú zaoberať obmedzeniami pri sťahovaní obrázkov kontajnerov.
В
Obmedzenia frekvencie sťahovania boli predtým oznámené v našom
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
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.
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
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
Ak chcete získať ďalšie informácie o najnovších zmenách zmluvných podmienok, kontaktujte nás
Pre tých, ktorí potrebujú zvýšiť limit frekvencie sťahovania obrázkov, ponúka Docker ako funkciu neobmedzené sťahovanie obrázkov
Zdroj: hab.com