Table of Contents
Docker به یک ابزار ضروری برای توسعه دهندگان تبدیل شده است، امکان ساخت containerization و محیط های سازگار در سراسر سیستم های مختلف را فراهم می کند، با این حال، به عنوان پروژه ها رشد می کنند، زمان ساخت می تواند به یک تنگنا تبدیل شود، سرعت فرایند توسعه و استقرار را کاهش دهد.
آشنایی با BuildKit
BuildKit یک سیستم ساخت مدرن برای Docker است که عملکرد را بهبود می بخشد، ویژگی های پیشرفته را اضافه می کند و امنیت را افزایش می دهد.این جایگزین موتور ساخت Docker سنتی می شود، که سریعتر از طریق اجرای موازی و مکانیسم های بهتر Caching ایجاد می شود.
برای فعال کردن BuildKit، متغیر محیط را تنظیم کنید:
[[ویرایش] [۱] [۱۰] [۱۰] [۱۰] [۱۰] [۱] [۱۰] [۱] [۱] [۱] [۱] [۱۰] [۱] [۲] [۳] [۱] [۲] [۱] [۱] [۱] [۱] [۲] [۱] [۱] [۳] [۱] [۱] [۱] [۳] [۳] [۳] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۲] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۲] [۲] [۲] [۲] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۲] [۲] [۱] [۳] [۳] [۱] [۲] [۱] [۱]
هنگامی که فعال شد، Docker می تواند از ویژگی های BuildKit برای بهینه سازی زمان و استفاده از منابع استفاده کند.
استفاده از کوه های پنهان برای ساخت های سریع تر
اسپری کردن کوه ها اجازه می دهد Docker به ادامه داده بین ساخت، اجتناب از مراحل اضافی و صرفه جویی در زمان، این به ویژه برای وابستگی ها، مدیران بسته یا ساخت مصنوعاتی که اغلب تغییر نمی کنند، مفید است.
برای استفاده از لوله کش، Dockerfile خود را با پرچم (FLT:0) تغییر دهید.
RUN -mount=cache، Target=/root/.cache، به اشتراک گذاری=locked
نکات عملی برای بهینه سازی ساخت ها
- ساخت و ساز با استفاده از تنظیمات (FLT:0)DOCKER BUILDKIT=1
- از لوله های کش برای وابستگی ها و ساخت مصنوعات استفاده کنید.
- از چند مرحله ای برای کاهش اندازه تصویر و ایجاد زمان استفاده کنید.
- دستور Dockerfile برای به حداکثر رساندن بازدید های حافظه کش، قرار دادن گام های کمتر در حال تغییر در بالای صفحه.
- به طور منظم تصاویر استفاده نشده را تنظیم کرده و برای حفظ عملکرد بهینه، حافظه را ایجاد کنید.
نتیجه گیری
بهینه سازی زمان ساخت Docker برای گردش های کاری کارآمد توسعه بسیار مهم است.با استفاده از BuildKit و cache، توسعه دهندگان می توانند به ساخت های سریع تر و قابل اعتماد تر دست یابند، در نهایت تحویل پروژه و کاهش مصرف منابع را تسریع کنند.