🐳 مرجع تعليمات Dockerfile بالعربي
كل تعليمة Dockerfile بالعربي: ماذا تفعل، صياغتها، مثال يوضّحها، وأشهر الأخطاء — Docker أداة تُشغَّل من الطرفية فلا يوجد تشغيل حي في المتصفح. حاليًا 12 تعليمة — والقائمة تكبر.
تعليمات البناء
FROM
تعليمة FROM — الصورة الأساس
FROM أول تعليمة فعلية في أي Dockerfile — تحدّد الصورة الأساس التي تُبنى فوقها صورتك، وتفتح مرحلة بناء جديدة.
WORKDIR
تعليمة WORKDIR — مجلّد العمل
WORKDIR تحدّد مجلّد العمل الحالي داخل الصورة لكل التعليمات التالية (RUN، COPY، CMD…)، وتُنشئ المجلّد تلقائيًا إن لم يكن موجودًا.
COPY
تعليمة COPY — نسخ الملفّات
COPY تنسخ ملفّات من سياق البناء (أو مرحلة أخرى) إلى داخل الصورة — الطريقة الموصى بها لنسخ كودك، أبسط وأوضح من ADD.
RUN
تعليمة RUN — تنفيذ أوامر أثناء البناء
RUN تنفّذ أمرًا أثناء بناء الصورة (تثبيت حِزَم مثلًا) وتحفظ نتيجته كطبقة جديدة دائمة — بعكس CMD التي تنفَّذ فقط عند تشغيل الحاوية.
ARG
تعليمة ARG — متغيّرات وقت البناء
ARG تعرّف متغيّرًا متاحًا فقط أثناء عملية البناء نفسها — لا يبقى له أثر في الصورة النهائية ولا في الحاوية وقت التشغيل.
تعليمات التشغيل
CMD
تعليمة CMD — الأمر الافتراضي عند التشغيل
CMD تحدّد الأمر الذي يُنفَّذ افتراضيًا عند تشغيل حاوية من الصورة — يُستبدَل بالكامل لو مررت أمرًا صريحًا مع docker run.
ENTRYPOINT
تعليمة ENTRYPOINT — الأمر الثابت
ENTRYPOINT تجعل الصورة تتصرّف كأمر تنفيذي ثابت — بعكس CMD، وسائط docker run تُضاف إليه لا تستبدله (إلا بعلم --entrypoint صراحة).
ENV
تعليمة ENV — متغيّرات البيئة
ENV تعرّف متغيّر بيئة يبقى موجودًا في الصورة النهائية وفي كل حاوية تُشغَّل منها — يظهر عبر docker inspect ويمكن تعديله وقت التشغيل.
EXPOSE
تعليمة EXPOSE — توثيق المنفذ
EXPOSE توثّق أي منفذ يستمع عليه تطبيقك داخل الحاوية — توثيق فقط، لا تفتح المنفذ فعليًا ولا تغني عن -p عند التشغيل.
VOLUME
تعليمة VOLUME — نقطة تثبيت للتخزين الدائم
VOLUME تعلّم Docker أن مسارًا معيّنًا يجب أن يبقى خارج طبقات الصورة القابلة للكتابة — أي حاوية تُشغَّل منها تحصل على volume مجهول تلقائيًا إن لم تربطه صراحة.
HEALTHCHECK
تعليمة HEALTHCHECK — فحص صحّة الحاوية
HEALTHCHECK تخبر Docker كيف يتحقّق أن تطبيقك يعمل فعليًا لا مجرّد أن العملية قيد التشغيل — حالتها (healthy/unhealthy) تظهر في docker ps مباشرة.
USER
تعليمة USER — المستخدم الذي تعمل به الحاوية
USER تحدّد باسم أو UID أي مستخدم تُنفَّذ به تعليمات RUN وCMD وENTRYPOINT التالية — بدونها تعمل الحاوية بصلاحيات root افتراضيًا، وهذا خطر أمني حقيقي.
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار DOCKER الكامل بالعربي.