كيفية تشغيل مثيل Docker من ملف Dockerfile؟

Kyfyt Tshghyl Mthyl Docker Mn Mlf Dockerfile



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

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

هذه المدونة سوف تشرح :







ما هو ملف Dockerfile؟

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



الأوامر الأساسية لملف Dockerfile

بعض أوامر Dockerfile الأساسية المستخدمة لتحديد اللقطة الأساسية للحاوية مذكورة أدناه في شكل جدول:



الأوامر وصف
من ال ' من يتم استخدام الأمر لتحديد الصورة الأساسية لقالب الحاوية. يتم سحب هذه الصور من سجل Docker الرسمي Docker Hub.
صيانة ال ' صيانة 'يحدد الأمر معلومات المؤلف (الاسم والبريد الإلكتروني) الذي يقوم بإنشاء صورة Docker.
دير العمل وهو يحدد دليل العمل للتطبيق الموجود في حاوية.
ينسخ يُستخدم لنسخ ملفات المصدر والتكوين من النظام المضيف إلى المسار المحدد لحاوية Docker.
يضيف ال ' يضيف 'الأمر مشابه للأمر' ينسخ ' ولكنه يدعم أيضًا عنوان URL البعيد لإضافة الملف من عنوان URL إلى مسار الحاوية، مثل من مستودع GitHub إلى مسار الحاوية.
يجري ال ' يجري 'يتم استخدامه لتشغيل الأوامر في الحاوية. في Dockerfile، يتم استخدامه في الغالب لإدارة وتثبيت التبعيات الإضافية داخل الحاوية.
كمد ' كمد 'يحدد النقاط الافتراضية لحاويات Docker. إنه يحدد بشكل أساسي الملفات التنفيذية والمعلمات الافتراضية لـ ' نقطة الدخول '.
نقطة الدخول ال ' نقطة الدخول يُستخدم الأمر أيضًا لتعيين الملفات التنفيذية لحاوية Docker. يقوم بشكل أساسي بتعيين التطبيقات الافتراضية التي يتم استخدامها في الحاوية في كل مرة. يتم أيضًا استخدام أمر ENTRYPOINT مرة واحدة في ملف Dockerfile.
مستخدم يتم استخدام هذا الأمر لتعيين UID (اسم المستخدم) لتنفيذ الأوامر في الحاوية
مقدار ال ' مقدار 'يتم استخدام الأمر لربط أو تحميل وحدة التخزين الخارجية (نظام الملفات) بحاوية.
بيئى ال ' بيئى يتم استخدام الأمر لتعيين متغيرات بيئة الحاوية.
الأرجنتين ال ' الأرجنتين 'يتم استخدامه لتمرير الوسائط داخل الحاوية.
يفضح ال ' يفضح يحدد الأمر 'منافذ الكشف التي سيتم تنفيذ الحاوية عليها.
بناء يقرأ التعليمات من الصورة الأساسية ولكنه يقوم بتشغيل هذه التعليمات عبر الصورة النهائية.
ملصق ال ' ملصق 'يتم استخدامه لتحديد البيانات التعريفية للقطة الحاوية.

كيفية تشغيل مثيل Docker من ملف Dockerfile في Docker؟

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





اتبع التعليمات التالية للتوضيح.

الخطوة 1: إنشاء ملف Dockerfile

أولاً، قم بإنشاء ملف Dockerfile. تذكر أن Dockerfile لا يحتوي على أي امتداد للملف. بعد ذلك قم بلصق الأوامر التالية في الملف:



من الجولانج: 1.8

دير العمل / يذهب / src / برنامج

انسخ main.go .

RUN اذهب للبناء -O قاعدة بيانات للانترنت .

يفضح 8080 : 8080

نقطة الدخول [ './قاعدة بيانات للانترنت' ]

الخطوة 2: إنشاء ملف البرنامج

وبعد ذلك قم بإنشاء ملف جديد بإسم ' main.go ” الذي يحتوي على برنامج جولانج البسيط . ولهذا الغرض، قم بلصق البرنامج التالي في الملف:

الحزمة الرئيسية
يستورد (
'إف إم تي'
'سجل'
'نت/http'
)

معالج func ( في http.ResponseWriter، ص * http.Request ) {
fmt.Fprintf ( في , 'مرحبًا! مرحبًا بك في البرنامج التعليمي LinuxHint' )
}
func الرئيسي ( ) {
http.HandleFunc ( '/' ، معالج )
سجل. فادح ( http.الاستماع والخدمة ( '0.0.0.0:8080' لا شيء ) )
}

الخطوة 3: إنشاء لقطة الحاوية

الآن، أنشئ لقطة Docker للحاوية باستخدام ' docker build -t -f . ':

بناء عامل ميناء go-img -F ملف الإرساء .

في الأمر أعلاه، ' 'يقوم الخيار بتعيين اسم الصورة أو علامتها،' -F يحدد الخيار 'المسار إلى ملف Dockerfile الذي يحتاج محرك Docker منه إلى قراءة سياق البناء:

للتحقق مما إذا تم إنشاء الصورة بنجاح أم لا، قم بتشغيل ' صور عامل الإرساء <اسم الصورة> ' يأمر:

صور عامل الميناء go-img

يوضح الناتج أننا نجحنا في إنشاء لقطة الحاوية من ملف Dockerfile:

الخطوة 4: قم بتشغيل اللقطة لإطلاق الحاوية

الآن، ابدأ مثيل Docker في حاوية Docker عن طريق تنفيذ لقطة الحاوية التي تم إنشاؤها في الخطوة أعلاه:

تشغيل عامل الميناء 8080 : 8080 --اسم متابعة go-img

في الأمر أعلاه، ' ' يقوم الخيار بتشغيل الحاوية على ' 8080 ' ميناء، ' -اسم 'يحدد اسم الحاوية و' يقوم الخيار بتشغيل الحاوية في الوضع المنفصل (خدمة الخلفية):

للتحقق مما إذا كانت الحاوية قيد التنفيذ أم لا، قم بإدراج الحاويات قيد التشغيل باستخدام الزر ' عامل ميناء ملاحظة ' يأمر:

عامل ميناء ملاحظة

الآن انتقل إلى ' http://localhost:8080 'وتحقق مما إذا كان التطبيق يعمل على منفذ الكشف أم لا:

يشير الناتج أعلاه إلى أننا بدأنا بشكل فعال مثيل Docker باستخدام Dockerfile.

كيفية تشغيل مثيل من ملف Dockerfile في Docker Compose؟

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

الخطوة 1: إنشاء ملف Dockerfile

أولاً، قم بإنشاء ملف Dockerfile. على سبيل المثال، نحن نستخدم نفس ملف Dockerfile وملف البرنامج المستخدم في القسم أعلاه:

من الجولانج: 1.8

دير العمل / يذهب / src / برنامج

انسخ main.go .

RUN اذهب للبناء -O قاعدة بيانات للانترنت .

يفضح 8080 : 8080

نقطة الدخول [ './قاعدة بيانات للانترنت' ]

الخطوة 2: إنشاء ملف docker-compose.yml

بعد ذلك، قم بإنشاء ' docker-compose.yml ' وانسخ أزواج المفاتيح التالية في الملف:

إصدار: '3'

خدمات:

الويب:
يبني: .
الموانئ:
- 8080 : 8080

وفي المقطع المذكور أعلاه:

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

الخطوة 3: بدء مثيل Docker

الآن، قم بتشغيل مثيل Docker في حاوية باستخدام ' عامل الميناء يؤلف ' يأمر:

عامل الميناء يؤلف

للتحقق، تحقق من قائمة حاويات الإنشاء قيد التشغيل باستخدام ' عامل ميناء يؤلف ملاحظة ' يأمر:

عامل ميناء يؤلف ملاحظة

ويبين الإخراج أن ' الويب 'يتم تنفيذ الخدمة بنجاح في' golangapp-web-1 ' حاوية:

انتقل إلى منفذ الكشف لخدمة الإنشاء وتحقق مما إذا كان البرنامج قيد التنفيذ أم لا. توضح النتيجة أدناه أننا نجحنا في بدء تشغيل مثيل Docker من Dockerfile باستخدام Docker compose:

يتعلق الأمر كله بتشغيل مثيل عامل الإرساء من ملف Dockerfile.

خاتمة

لتنفيذ مثيل Docker في حاوية من ملف Dockerfile، قم أولاً بإنشاء Dockerfile. أضف الأوامر داخل الملف لإنشاء صورة أو قالب حاوية Docker. ثم قم بإنشاء صورة الحاوية أو لقطة الشاشة باستخدام ' docker build -t -f . ' يأمر. الآن، قم بتنفيذ صورة الحاوية لبدء مثيل Docker. يمكن للمستخدمين أيضًا استخدام إنشاء Docker لتشغيل مثيل Docker من Dockerfile. يوضح هذا المنشور كيفية تشغيل مثيل Docker من ملف Dockerfile.