ما الفرق بين صورة Docker والحاوية؟
الصورة مخطط للقراءة فقط — مجموعة طبقات من نظام الملفات مبنية من Dockerfile. الحاوية نسخة تشغيل من تلك الصورة مع طبقة كتابة خاصة بها. يمكن تشغيل حاويات متعددة من نفس الصورة في آن واحد، كل منها معزولة عن الأخريات.
أسئلة شائعة وإجابات واضحة
الصورة مخطط للقراءة فقط — مجموعة طبقات من نظام الملفات مبنية من Dockerfile. الحاوية نسخة تشغيل من تلك الصورة مع طبقة كتابة خاصة بها. يمكن تشغيل حاويات متعددة من نفس الصورة في آن واحد، كل منها معزولة عن الأخريات.
الأحجام دلائل مُدارة بواسطة Docker تستمر خارج نظام ملفات الحاوية. استخدمها لأي بيانات يجب أن تبقى بعد إعادة تشغيل الحاويات: قواعد البيانات والملفات المرفوعة والأصول المُولَّدة. يُفضَّل الأحجام المُسمَّاة على نقاط التثبيت في الإنتاج.
لا يضمن وسم 'latest' الحصول على نفس الصورة عند السحب مجدداً. يغير الدفع الجديد للمستودع ما يشير إليه 'latest' بصمت مكسراً قابلية الاستنساخ. ثبِّت على ملخص محدد (sha256:…) أو وسم إصدار دلالي.
يستخدم البناء متعدد المراحل عبارات FROM متعددة في ملف Dockerfile واحد. تُجمِّع المراحل الأولى التطبيق؛ تنسخ المرحلة الأخيرة فقط المُنتجات القابلة للتشغيل. يُقلِّل حجم الصورة عادةً بنسبة 60–80٪.
أربع ممارسات تغطي معظم المخاطر: شغِّل الحاويات كمستخدم غير جذر، وافحص الصور بحثاً عن CVE المعروفة، واستخدم صور أساسية صغيرة، ولا تُضمِّن الأسرار في الطبقات أبداً.
يحدد ENTRYPOINT الملف التنفيذي الذي يعمل دائماً؛ يوفر CMD وسائط افتراضية يمكن تجاوزها عند 'docker run'. استخدم ENTRYPOINT للعملية الرئيسية وCMD لإشاراتها الافتراضية.