Cum se extinde Docker Business pentru a servi milioane de dezvoltatori, Partea 2: Date de ieșire

Cum se extinde Docker Business pentru a servi milioane de dezvoltatori, Partea 2: Date de ieșire

Acesta este al doilea articol dintr-o serie de articole care vor acoperi limitările la descărcarea imaginilor containerului.

В prima parte Am aruncat o privire mai atentă asupra imaginilor stocate în Docker Hub, cel mai mare registru de imagini de containere. Scriem acest lucru pentru a vă ajuta să înțelegeți mai bine modul în care Termenii și condițiile actualizate vor afecta echipele de dezvoltare care folosesc Docker Hub pentru a gestiona imaginile containerelor și conductele CICD.

Restricțiile privind frecvența de descărcare au fost anunțate anterior în site-ul nostru Termenii serviciului. Aruncăm o privire mai atentă la restricțiile de frecvență care vor intra în vigoare la 1 noiembrie 2020:

Plan gratuit, utilizatori anonimi: 100 de descărcări în 6 ore
Plan gratuit, utilizatori autorizați: 200 de descărcări în 6 ore
Plan Pro: nelimitat
Plan tarifar pentru echipa: nelimitat

Frecvența de descărcare Docker este definită ca numărul de solicitări manifest către Docker Hub. Limitele cu privire la cât de des pot fi descărcate imaginile se bazează pe tipul de cont care solicită imaginea, nu pe tipul de cont care deține imaginea. Pentru utilizatorii anonimi (neautorizați), frecvența de descărcare este legată de adresa IP.

NB Veți primi mai multe subtilități și cazuri de bune practici la cursul Docker de la practicieni. Mai mult decât atât, îl poți lua oricând îți este convenabil – atât ca timp, cât și ca dispoziție.

Primim întrebări din partea clienților și a comunității cu privire la straturile de imagini ale containerelor. Nu contorizăm straturi de imagine atunci când limităm frecvența de descărcare, deoarece limităm descărcările de manifest și numărul de straturi (solicitări blob) este în prezent nelimitat. Această modificare se bazează pe feedback-ul comunității pentru a o face mai ușor de utilizat, astfel încât utilizatorii să nu fie nevoiți să numere straturile pentru fiecare imagine pe care o folosesc.

Analiză detaliată a ratelor de descărcare a imaginilor Docker Hub

Am petrecut mult timp analizând descărcările de imagini din Docker Hub pentru a determina ce a cauzat limita de rată și cum ar trebui să fie limitată. Ceea ce am văzut a confirmat că practic toți utilizatorii au descărcat imagini la viteze previzibile pentru fluxurile de lucru tipice. Cu toate acestea, există o influență notabilă a unui număr mic de utilizatori anonimi, de exemplu aproximativ 30% din toate descărcările provin de la doar 1% dintre utilizatorii anonimi.

Cum se extinde Docker Business pentru a servi milioane de dezvoltatori, Partea 2: Date de ieșire

Noile restricții se bazează pe această analiză, astfel încât majoritatea utilizatorilor noștri nu vor fi afectați. Aceste restricții sunt făcute pentru a reflecta utilizarea comună a dezvoltatorilor - învățarea Docker, dezvoltarea codului, crearea de imagini etc.

Ajutați dezvoltatorii să înțeleagă mai bine limitarea ratei de descărcare

Acum că am înțeles impactul, precum și unde ar trebui să fie limitele, trebuia să stabilim condițiile tehnice de funcționare a acestor restricții. Limitarea descărcărilor de imagini din registrul Docker este destul de dificilă. Nu veți găsi un API de încărcare în descrierea registrului - pur și simplu nu există. De fapt, descărcarea unei imagini este o combinație de solicitări manifest și blob-uri în API și sunt executate diferit, în funcție de starea client și imaginea solicitată.

De exemplu, dacă aveți deja o imagine, Docker Engine va emite o solicitare de manifest, va realiza că are deja toate straturile necesare pe baza manifestului acceptat și apoi se va opri. Pe de altă parte, dacă descărcați o imagine care acceptă mai multe arhitecturi, interogarea manifest va returna o listă de manifeste de imagine pentru fiecare arhitectură acceptată. Motorul Docker va emite apoi o altă solicitare manifest pentru arhitectura specifică pe care rulează și, în schimb, va primi o listă cu toate straturile din imagine. Apoi va interoga pentru fiecare strat lipsă (blob).

NB Acest subiect este tratat mai pe larg în curs Docker, în care vom analiza toate instrumentele sale: de la abstracții de bază la parametrii de rețea, nuanțe de lucru cu diverse sisteme de operare și limbaje de programare. Te vei familiariza cu tehnologia și vei înțelege unde și cum să folosești cel mai bine Docker.

Se pare că descărcarea unei imagini este de fapt una sau două solicitări manifest, precum și de la zero la infinit - solicitări de strat (blob). Din punct de vedere istoric, Docker a urmărit frecvența de descărcare strat cu strat, deoarece aceasta este asociată cel mai mult cu utilizarea lățimii de bandă. Dar, cu toate acestea, am ascultat comunitatea că acest lucru este mai dificil, deoarece trebuie să urmăriți numărul solicitat de straturi, ceea ce va duce la ignorarea celor mai bune practici privind lucrul cu Dockerfile și este, de asemenea, mai intuitiv pentru utilizatorii care doresc doar să lucreze cu registrul fără prea multă înțelegere a detaliilor .

Deci limităm numărul de solicitări pe baza solicitărilor manifeste. Acest lucru este direct legat de descărcarea imaginilor, ceea ce este ușor de înțeles de către utilizatori. Există, totuși, o mică nuanță - dacă încercați să descărcați o imagine care există deja, cererea va fi luată în considerare, chiar dacă nu descărcați straturile. În orice caz, sperăm că această metodă de limitare a frecvenței de descărcare va fi atât corectă, cât și convenabilă pentru utilizatori.

Așteptăm feedback-ul dvs

Vom monitoriza restricțiile și vom face ajustările corespunzătoare pe baza cazurilor de utilizare tipice pentru a ne asigura că restricțiile sunt adecvate pentru fiecare tip de utilizator și, în special, vom încerca să nu împiedicăm dezvoltatorii să-și facă munca.

Rămâneți la curent în săptămânile următoare pentru un alt articol despre configurarea CI și sistemele de luptă în lumina acestor modificări.

În cele din urmă, ca parte a suportului nostru pentru comunitatea open source, vom oferi noi planuri de preț pentru open source până pe 1 noiembrie. Pentru a aplica, vă rugăm să completați formularul aici.

Pentru mai multe informații despre cele mai recente modificări ale termenilor și condițiilor, vă rugăm să vizitați FAQ.

Pentru cei care trebuie să mărească limita cu privire la frecvența cu care descarcă imagini, Docker oferă descărcări nelimitate de imagini ca caracteristică Planuri Pro sau Team. Ca întotdeauna, așteptăm feedback și întrebări. aici.

Sursa: www.habr.com

Adauga un comentariu