الطبقات (Layers) وذاكرة البناء المؤقتة (Build Cache)
كل تعليمة في ملف Dockerfile تُنشئ طبقة (layer). يخزّن Docker الطبقات في ذاكرة مؤقتة (cache)، ويعيد استخدام طبقة جاهزة فقط إذا لم تتغيّر هي وكل ما فوقها. لذلك يهمّ الترتيب: رتّب التعليمات من الأقل تغيّرًا إلى الأكثر تغيّرًا، بنسخ ملف التبعيات وتثبيتها قبل نسخ الكود المصدري — حتى لا يُبطل تعديل الكود
تخيّل كومة من الشفّافيات الشفّافة، واحدة فوق الأخرى. غيّر ورقة قريبة من الأعلى فتُطبع من جديد كل ورقة فوقها — أما الأوراق التي تحتها فتبقى تمامًا كما كانت.
- طبقة
- نتاج تعليمة واحدة في Dockerfile — تغيير تفاضلي في نظام الملفات يُكدَّس فوق الطبقات السابقة ويُحفظ في الذاكرة المؤقتة.
- ذاكرة البناء المؤقتة
- مجموعة الطبقات المحفوظة من بناء سابق؛ يعيد Docker استخدامها لتخطّي التعليمات التي لم تتغيّر واختصار زمن البناء.
- إبطال الذاكرة المؤقتة
- اللحظة التي يتغيّر فيها مُدخَل تعليمة (مثلًا ملف تنسخه)، ما يُجبر تلك التعليمة وكل تعليمة بعدها على العمل من جديد بدلًا من جلبها من الذاكرة المؤقتة.