تم حلها: مثال على ملف عامل ميناء

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

FROM python:3.7

WORKDIR /app

COPY requirements.txt . 
RUN pip install -r requirements.txt 
COPY . . 
EXPOSE 5000 
ENTRYPOINT ["python"] 
CMD ["app.py"]

1. "FROM python: 3.7" - يحدد هذا السطر الصورة الأساسية لاستخدامها في حاوية Docker ، في هذه الحالة Python الإصدار 3.7.

2. "WORKDIR / app" - يعيّن هذا السطر دليل عمل الحاوية على "/ app".

3. "COPY requirements.txt." - ينسخ هذا السطر ملفًا باسم "requirements.txt" من الجهاز المحلي إلى دليل العمل الحالي للحاوية (في هذه الحالة "/ app").

4. "RUN pip install -r requirements.txt" - يقوم هذا السطر بتشغيل أمر داخل الحاوية والذي يستخدم pip لتثبيت جميع الحزم المدرجة في requirements.txt في بيئة الحاوية.

5. "نسخة. . " - ينسخ هذا السطر جميع الملفات والمجلدات من جهازك المحلي إلى دليل العمل الحالي لحاويتك (في هذه الحالة "/ app").

6. ”EXPOSE 5000 - يعرض هذا الخط المنفذ 5000 على حاوية Docker الخاصة بك ، مما يسمح بالوصول إليه من مصادر خارجية مثل متصفح الويب أو التطبيقات الأخرى التي تعمل على جهاز الكمبيوتر أو الشبكة.

7. ”ENTRYPOINT [“ python ”]” - يحدد هذا السطر نقطة دخول لحاوية Docker الخاصة بك ، مما يعني أنه عند تشغيله ، سيقوم تلقائيًا بتنفيذ أي أمر محدد هنا (في هذه الحالة ، تشغيل Python).

8. ”CMD [“ app.py ”]” - أخيرًا ، يحدد هذا السطر الأمر الذي يجب تنفيذه عند تشغيل حاوية Docker (في هذه الحالة ، يتم تشغيل ملف يسمى app.py).

حول منصة Docker

Docker عبارة عن نظام أساسي مفتوح المصدر لإنشاء التطبيقات وشحنها وتشغيلها. يستخدم تقنية الحاويات لحزم التطبيقات في حاويات معزولة بحيث يمكن نشرها بسرعة على أي نظام. يتيح Docker للمطورين إنشاء التطبيقات ونشرها بسرعة بطريقة آمنة وفعالة.

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

ما هو ملف Dockerfile

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

كيف أكتب Dockerfile

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

لكتابة Dockerfile في Python ، عليك أن تبدأ بتحديد الصورة الأساسية التي تريد استخدامها. يمكن القيام بذلك باستخدام تعليمات FROM. على سبيل المثال ، إذا أردت استخدام Ubuntu كصورة أساسية ، فاكتب:

من أوبونتو: الأحدث

بعد ذلك ، تحتاج إلى تثبيت أي حزم ومكتبات ضرورية لتطبيقك. يمكن القيام بذلك باستخدام تعليمات RUN وأوامر apt-get أو pip. على سبيل المثال ، إذا أردت تثبيت Flask وتبعياته ، فاكتب:

RUN apt-get update && apt-get install -y python3 python3-pip && pip3 install flask

بمجرد تثبيت جميع الحزم الخاصة بك ، حان الوقت لنسخ أي كود مصدر أو ملفات تكوين في الحاوية. يمكن القيام بذلك باستخدام تعليمة COPY متبوعة بمسار الملف المصدر ومسار الوجهة داخل الحاوية. علي سبيل المثال:

COPY ./app / app /

أخيرًا ، حان الوقت لتحديد الأمر الذي يجب تنفيذه عند تشغيل هذه الحاوية باستخدام Docker run. يتم ذلك باستخدام تعليمات CMD متبوعة بأي أمر يجب تنفيذه عند تشغيل هذه الحاوية. علي سبيل المثال:

CMD ["python3"، "/app/main.py"]

الوظائف ذات الصلة:

اترك تعليق