این دومین مقاله از مجموعه مقالاتی است که محدودیتهای دانلود تصاویر ظرف را پوشش میدهد.
В
محدودیت در فرکانس دانلود قبلا در ما اعلام شده بود
طرح رایگان، کاربران ناشناس: 100 بارگیری در 6 ساعت
طرح رایگان، کاربران مجاز: 200 دانلود در 6 ساعت
طرح حرفه ای: نامحدود
طرح تعرفه تیم: نامحدود
فرکانس دانلود داکر به عنوان تعداد درخواست های مانیفست به داکر هاب تعریف می شود. محدودیتهای تعداد دفعات بارگیری تصاویر بر اساس نوع حساب درخواست کننده تصویر است، نه نوع حساب مالک تصویر. برای کاربران ناشناس (غیر مجاز)، فرکانس دانلود به آدرس IP وابسته است.
NB ظرافت های بیشتر و بهترین موارد عملی را دریافت خواهید کرد
ما سوالاتی از مشتریان و جامعه در مورد لایه های تصویر کانتینر دریافت می کنیم. وقتی تعداد دفعات دانلود را محدود میکنیم، لایههای تصویر را محاسبه نمیکنیم، زیرا بارگیریهای مانیفست را محدود میکنیم و تعداد لایهها (درخواستهای حباب) در حال حاضر نامحدود است. این تغییر بر اساس بازخورد جامعه است تا کاربرپسندتر شود تا کاربران مجبور نباشند لایهها را روی هر تصویری که استفاده میکنند بشمارند.
تجزیه و تحلیل دقیق نرخ دانلود تصویر Docker Hub
ما زمان زیادی را صرف تجزیه و تحلیل دانلودهای تصویر از Docker Hub کردیم تا مشخص کنیم چه چیزی باعث محدودیت نرخ شده است و دقیقاً چگونه باید محدود شود. آنچه دیدیم تأیید کرد که تقریباً همه کاربران تصاویر را با سرعت قابل پیش بینی برای گردش کار معمولی دانلود می کردند. با این حال، تأثیر قابل توجهی از تعداد کمی از کاربران ناشناس وجود دارد، برای مثال حدود 30٪ از کل دانلودها تنها از 1٪ از کاربران ناشناس انجام می شود.
محدودیتهای جدید بر اساس این تحلیل است، بنابراین بیشتر کاربران ما تحت تأثیر قرار نخواهند گرفت. این محدودیت ها برای منعکس کردن استفاده رایج توسعه دهندگان - یادگیری Docker، توسعه کد، ایجاد تصاویر و غیره ایجاد شده است.
به توسعه دهندگان کمک کنید تا محدودیت سرعت دانلود را بهتر درک کنند
اکنون که تأثیر آن و همچنین اینکه مرزها باید کجا باشد را فهمیدیم، باید شرایط فنی برای اجرای این محدودیتها را مشخص میکردیم. محدود کردن بارگیری تصاویر از رجیستری Docker بسیار دشوار است. شما یک API آپلود را در توضیحات رجیستری پیدا نخواهید کرد - به سادگی وجود ندارد. در واقع، دانلود یک تصویر ترکیبی از درخواستهای مانیفست و حبابها در API است و بسته به وضعیت آن، بهطور متفاوتی اجرا میشوند. مشتری و تصویر درخواستی
به عنوان مثال، اگر قبلاً یک تصویر دارید، Docker Engine یک درخواست مانیفست صادر می کند، متوجه می شود که از قبل تمام لایه های مورد نیاز را بر اساس مانیفست پذیرفته شده دارد و سپس متوقف می شود. از سوی دیگر، اگر تصویری را دانلود کنید که از چندین معماری پشتیبانی میکند، کوئری مانیفست فهرستی از مانیفستهای تصویر را برای هر معماری پشتیبانیشده برمیگرداند. سپس Docker Engine درخواست مانیفست دیگری را برای معماری خاصی که روی آن اجرا می شود، صادر می کند و در عوض لیستی از تمام لایه های تصویر را دریافت می کند. سپس برای هر لایه گمشده (blob) پرس و جو می کند.
NB این موضوع به طور گسترده تری در
به نظر می رسد که بارگیری یک تصویر در واقع یک یا دو درخواست آشکار است و همچنین از صفر تا بی نهایت - درخواست های لایه (blob). از لحاظ تاریخی، Docker فرکانس دانلود را بر اساس لایه به لایه ردیابی کرده است، زیرا این بیشتر با استفاده از پهنای باند مرتبط است. اما با این وجود، ما به جامعه گوش دادیم که این کار دشوارتر است، زیرا شما باید تعداد لایههای درخواستی را ردیابی کنید، که منجر به نادیده گرفتن بهترین روشها در مورد کار با Dockerfile میشود، و همچنین برای کاربرانی که فقط میخواهند با آن کار کنند، شهودیتر است. رجیستری بدون درک زیادی از جزئیات.
بنابراین تعداد درخواستها را بر اساس درخواستهای مانیفست محدود میکنیم. این به طور مستقیم با دانلود تصاویر مرتبط است که درک آن برای کاربران آسان است. با این حال، یک تفاوت کوچک وجود دارد - اگر سعی کنید تصویری را که از قبل وجود دارد دانلود کنید، حتی اگر لایه ها را دانلود نکنید، درخواست همچنان در نظر گرفته می شود. در هر صورت امیدواریم این روش محدود کردن فرکانس دانلود برای کاربران هم منصفانه و هم راحت باشد.
منتظر نظرات شما هستیم
ما بر محدودیتها نظارت میکنیم و تنظیمات مناسب را بر اساس موارد استفاده معمول انجام میدهیم تا اطمینان حاصل کنیم که محدودیتها برای هر نوع کاربر مناسب است، و بهویژه سعی خواهیم کرد هرگز از انجام کار توسعهدهندگان جلوگیری نکنیم.
در هفته های آینده منتظر مقاله دیگری در مورد راه اندازی سیستم های CI و رزمی با توجه به این تغییرات باشید.
در نهایت، به عنوان بخشی از حمایت ما از جامعه منبع باز، برنامه های قیمت گذاری منبع باز جدید را تا اول نوامبر منتشر خواهیم کرد. برای درخواست، باید فرم را پر کنید
برای کسب اطلاعات بیشتر در مورد آخرین تغییرات در شرایط خدمات، لطفا تماس بگیرید
برای کسانی که نیاز به افزایش محدودیت تعداد دفعات بارگیری تصاویر دارند، Docker دانلود نامحدود تصویر را به عنوان یک ویژگی ارائه می دهد.
منبع: www.habr.com