العودة إلى الدورة

الدرس 8: مقدمة إلى Dockerfiles

Docker من الصفر إلى الاحتراف: الدورة الشاملة لتغليف التطبيقات (Containerization) للمبتدئين

الدرس 8: مقدمة إلى Dockerfiles

في حين أن سحب الصور الرسمية أمر مريح، لتغليف تطبيقاتك الخاصة في حاويات، يجب عليك إنشاء صورة Docker مخصصة باستخدام Dockerfile.

ما هو Dockerfile؟

Dockerfile هو ملف نصي بسيط يحتوي على سلسلة من التعليمات (الأوامر) التي يستخدمها Docker لبناء صورة جديدة تلقائياً. يتم تنفيذ هذه التعليمات بالتتابع، مما ينشئ طبقة جديدة للقراءة فقط لكل خطوة.

إنشاء أول Dockerfile لك

قم بإنشاء مجلد جديد يسمى my-app وداخله، أنشئ ملفاً باسم Dockerfile (بدون امتداد).

سنقوم بإنشاء صورة بسيطة تعتمد على Ubuntu تقوم بتثبيت حزمة curl.

dockerfile

محتوى Dockerfile

1. ابدأ من صورة أساسية

FROM ubuntu:latest

2. تعيين القائم بالصيانة (اختياري، ولكنه ممارسة جيدة)

LABEL maintainer="yourname@example.com"

3. تنفيذ أوامر لتحديث الحزم وتثبيت curl

RUN apt-get update && apt-get install -y curl

4. تعريف الأمر الافتراضي للتشغيل عند بدء الحاوية

CMD ["curl", "--version"]

بناء الصورة

لبناء الصورة، انتقل إلى الدليل الذي يحتوي على Dockerfile في الطرفية الخاصة بك واستخدم الأمر docker build.

bash

الصيغة: docker build [OPTIONS] PATH | URL

docker build -t my-custom-curl-image:v1.0 .

تحليل:

  • docker build: الأمر لبدء عملية البناء.
  • -t my-custom-curl-image:v1.0: العلامة (-t) التي نخصصها للصورة الناتجة. من الممارسات الجيدة تضمين علامة إصدار.
  • .: سياق البناء (المسار إلى الدليل الذي يحتوي على Dockerfile). النقطة تعني 'الدليل الحالي'.

سيقوم Docker بتنفيذ التعليمات سطراً بسطر، وعرض عملية التخزين المؤقت للطبقات.

تشغيل الصورة المخصصة

بعد بناء ناجح، قم بتشغيل صورتك الجديدة:

bash docker run --rm my-custom-curl-image:v1.0

النتيجة: ستبدأ الحاوية، وتشغل تعليمة CMD (curl --version)، وتطبع معلومات الإصدار، ثم تخرج (وتتم إزالتها بسبب --rm).