استكشف عناصر ملف Dockerfile

مكتمل

Dockerfile هو برنامج نصي يحتوي على سلسلة من الإرشادات التي يتم استخدامها لإنشاء صورة Docker. تتضمن ملفات Dockerfiles عادة المعلومات التالية:

  • نستخدم الصورة الأساسية أو الأصل لإنشاء الصورة الجديدة
  • أوامر لتحديث نظام التشغيل الأساسي وتثبيت برامج أخرى
  • إنشاء منتجات لتضمينها، مثل تطبيق مطور
  • خدمات للعرض، مثل التخزين وتكوين الشبكة
  • أمر للتشغيل عند تشغيل الحاوية

إنشاء Dockerfile

الخطوة الأولى في إنشاء Dockerfile هي اختيار صورة أساسية تعمل كأساس لتطبيقك. على سبيل المثال، إذا كنت تقوم بإنشاء تطبيق .NET، فقد تختار صورة Microsoft .NET كأساس.

# Use the .NET 6 runtime as a base image
FROM mcr.microsoft.com/dotnet/runtime:6.0

# Set the working directory to /app
WORKDIR /app

# Copy the contents of the published app to the container's /app directory
COPY bin/Release/net6.0/publish/ .

# Expose port 80 to the outside world
EXPOSE 80

# Set the command to run when the container starts
CMD ["dotnet", "MyApp.dll"]

دعونا نتصفح كل سطر لمعرفة ما يفعله:

  • FROM mcr.microsoft.com/dotnet/runtime:6.0: يعين هذا الأمر الصورة الأساسية إلى وقت تشغيل .NET 6، وهو مطلوب لتشغيل تطبيقات .NET 6.
  • WORKDIR /app: تعيين دليل العمل إلى /app، وهو المكان الذي يتم فيه نسخ ملفات التطبيق.
  • COPY bin/Release/net6.0/publish/ .: نسخ محتويات التطبيق المنشور إلى دليل الحاوية /app . نفترض أن تطبيق .NET 6 قد تم إنشاؤه بالفعل ونشره في bin/Release/net6.0/publish الدليل.
  • EXPOSE 80: يعرض المنفذ 80، وهو منفذ HTTP الافتراضي، للعالم الخارجي. قم بتغيير هذا الخط وفقا لذلك إذا كان تطبيقك يستمع إلى منفذ مختلف.
  • CMD ["dotnet", "MyApp.dll"]: الأمر الذي سيتم تشغيله عند بدء تشغيل الحاوية. في هذه الحالة، نقوم بتشغيل الأمر dotnet باسم ملف DLL لتطبيقنا (MyApp.dll). قم بتغيير هذا السطر لمطابقة اسم التطبيقات ونقطة الإدخال.

لن نقوم بتغطية مواصفات ملف Dockerfile، قم بزيارة مرجع Dockerfile لمزيد من المعلومات. تنشئ كل خطوة من هذه الخطوات صورة حاوية مخزنة مؤقتًا في أثناء قيامنا بإنشاء صورة الحاوية النهائية. يتم وضع هذه الصور المؤقتة فوق الصورة السابقة ويتم تقديمها كصورة واحدة بمجرد اكتمال جميع الخطوات.

الموارد