ما هو Dockerfile؟
ملف نصّي يحتوي تعليمات بناء صورة لتطبيقك خطوة بخطوة.
مثال لتطبيق Node.js
# 1. الصورة الأساس
FROM node:20
# 2. مجلد العمل داخل الحاوية
WORKDIR /app
# 3. نسخ ملفات الاعتماديات وتثبيتها
COPY package*.json ./
RUN npm install
# 4. نسخ باقي المشروع
COPY . .
# 5. المنفذ الذي يستمع عليه التطبيق
EXPOSE 3000
# 6. أمر التشغيل
CMD ["node", "app.js"]
شرح التعليمات
| التعليمة | الوظيفة |
|---|---|
FROM | الصورة الأساس التي نبني فوقها |
WORKDIR | مجلد العمل داخل الحاوية |
COPY | نسخ ملفات من جهازك إلى الصورة |
RUN | تنفيذ أمر أثناء البناء (مثل npm install) |
EXPOSE | توثيق المنفذ المستخدَم |
CMD | الأمر الذي يُنفّذ عند تشغيل الحاوية |
بناء الصورة وتشغيلها
docker build -t my-app .
docker run -p 3000:3000 my-app
-t my-app يعطي الصورة اسمًا، والنقطة . تعني المجلد الحالي.
نصيحة: .dockerignore
كملف .gitignore، يمنع نسخ ملفات غير ضرورية:
node_modules
.git
.env
🎯 التالي: Docker Compose لإدارة عدة حاويات.