العودة إلى المدونة

تثبيت Docker Compose على CentOS 7

تثبيت Docker Compose على CentOS 7

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

حاويات وصور Docker

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

  • صور Docker

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

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

  • حاويات Docker

صور Docker هي المخطط الأساسي لحاويات Docker. من الناحية الفنية، حاوية Docker هي نسخة من صورة Docker. تخيل، إذا كانت صورة Docker بمثابة الأب، فإن حاوية Docker هي الابن. على عكس صور Docker التي يمكنك إنشاؤها مرة واحدة، يمكنك إنشاء حاويات متعددة باستخدام صورة واحدة. للتحقق من قائمة الصور التي تعمل في نظامك، استخدم الأمر:

لسحب حاوية، استخدم الأمر التالي:

  • كيف تعمل صور وحاويات Docker

تعمل صور وحاويات Docker جنبًا إلى جنب لإطلاق العنان لإمكانيات Docker. يتم بناء حاوية واحدة باستخدام صورة Docker من خلال أمر التشغيل. عند إنشاء حاوية Docker، يتم إنشاء طبقة جديدة تُعرف باسم طبقة الحاوية (Container Layer). تحتوي الطبقة التي تم إنشاؤها حديثًا على التطبيق وتبعياته. كل حاوية تقوم بإنشائها تحتوي على طبقة حاوية مختلفة للقراءة/الكتابة، وأي تغييرات يتم إجراؤها في حاوية Docker تنعكس تلقائيًا على طبقة الحاوية. تذكر، إذا اخترت حذف حاوية، فستفقد أيضًا طبقة الحاوية.

مرحبًا بك في Docker Compose

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

  • ماذا يفعل Docker Compose؟

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

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

  • كيفية استخدام Docker Compose

استخدام Docker Compose سهل للغاية، حتى بالنسبة للمبتدئين. دعنا نرى العملية المكونة من ثلاث خطوات في Docker Compose:

1. البناء: أولاً، قم ببناء الصور في ملف Dockerfile وفقًا لاحتياجات مشروعك، أو ربما اسحبها من السجل.

2. التعريف: بعد ذلك، تحتاج إلى تحديد جميع الخدمات المكونة في ملف compose.yml .

3. التشغيل: بعد تحديد المكونات، حان وقت التشغيل باستخدام أمر docker-compose .

المتطلبات الأساسية

قبل أن نمضي قدمًا في تثبيت Docker Compose على خادم CentOS الخاص بك، تأكد من أن لديك:

أنت الآن جاهز تمامًا. بعد ذلك، اتبع الخطوات أدناه لتثبيت Docker Compose على CentOS 7.

الخطوة 1: تثبيت Docker Compose

للحصول على أحدث إصدار من Docker Compose، اتبع التعليمات الواردة في وثائق Docker وقم بتنزيل الملفات الثنائية من مستودع GitHub لـ Docker’s. تحقق من أن لديك أحدث إصدار من البرنامج عن طريق تشغيل الأمر أدناه:

لتشغيل الملف الثنائي، قم بتعيين الأذونات أدناه:

بعد ذلك، ابحث عن إصدارك للتحقق مما إذا كان التثبيت ناجحًا:

سيقوم الكود أدناه بطباعة الإصدار المثبت:

docker-compose --version

يمكنك بعد ذلك تشغيل مثال “Hello World” باستخدام Docker Compose الذي قمت بتثبيته.

الخطوة 2: استخدام Docker Compose لتشغيل حاوية

توجد صورة “Hello World” في Docker Hub، وهو سجل Docker العام، والذي يمكن استخدامه للتوضيح والاختبار. يوضح هذا كيفية تشغيل حاوية باستخدام Docker Compose بأقل قدر ممكن من التكوين. أولاً، تحتاج إلى إنشاء دليل لملف YAML الخاص بنا:

بعد ذلك، انتقل إلى هذا الدليل:

ثم، باستخدام محرر النصوص المفضل لديك، قم بإنشاء ملف YAML. في هذا البرنامج التعليمي، سنستخدم Vi:

اضغط على i للوصول إلى وضع الإدخال، ثم اكتب هذا في الملف:

في اسم الحاوية، سيتم دمج السطر الأول. يوجه السطر الثاني البرنامج إلى الصورة التي يجب استخدامها لإنشاء الحاوية. docker-composeup سيبحث عن صورة محلية باسم hello-world للتحقق مما إذا كانت متاحة عند كتابة الأمر. للخروج من وضع الإدخال، اضغط على ESC. ثم أدخل :x واضغط على ENTER لحفظ الملف والخروج منه. يمكن استخدام الأمر docker images للتحقق يدويًا من وجود صور على جهازك:

تظهر عناوين الأعمدة فقط عندما لا تكون هناك أي صور محلية على الإطلاق:

Docker Compose on CentOS 6

لإنشاء الحاوية، قم بتشغيل هذا الأمر بينما لا تزال في دليل /hello-world:

عند تشغيل الأمر لأول مرة وعدم وجود صورة محلية باسم hello-world، سيتم تنزيلها من مستودع Docker Hub:

sudo docker-compose up

للتأكد من أن التثبيت يعمل، يقوم Docker Compose بسحب الصورة، وبناء حاوية، وإرفاقها، وتنفيذ برنامج hello :

hello program

بعد ذلك، يتم عرض مطبوعة لوصف ما تم القيام به:

Docker Compose on CentOS 3

عندما hello يكمل مهمته، سيتم إيقاف تشغيل الحاوية ولن يتم تشغيل الأمر بعد الآن في الحاوية. سيتم عرض عناوين الأعمدة عند النظر إلى العمليات النشطة. ومع ذلك، لن يتم إدراج حاوية hello-world لأنها لا تعمل حاليًا:

sudo docker ps

لرؤية جميع الحاويات، وليس فقط الحاويات الحالية، استخدم العلامة -a :

Docker Compose 2

الآن بعد أن جربت تشغيل حاوية، يمكنك المضي قدمًا لتعلم بعض أوامر Docker Compose الأساسية.

الخطوة 3: أوامر Docker Compose

لبدء استخدام Docker Compose، سيتناول هذا القسم الأوامر الأساسية التي توفرها أداة docker-compose. docker-compose هو أمر يعمل على أساس كل دليل على حدة. من خلال إنشاء دليل واحد لكل حاوية وملف docker-compose.yml واحد لكل دليل، يمكنك تشغيل العديد من مجموعات حاويات Docker على نفس الكمبيوتر.

حتى الآن، كنت تقوم بتشغيل Docker Compose بمفردك. يمكنك إيقافه عن طريق الضغط على Ctrl-C. يتيح ذلك لنافذة الطرفية عرض رسائل تصحيح الأخطاء. ومع ذلك، يُنصح بتشغيل docker-compose كخدمة عند العمل في بيئة الإنتاج. يمكن استخدام الخيار -d كطريقة بسيطة لتحقيق ذلك:

الآن، docker-compose يتفرع إلى الخلفية. يمكن إدارة مجموعة حاويات Docker الخاصة بك (سواء كانت متوقفة أو قيد التشغيل) باستخدام الأمر التالي:

سيتم الإبلاغ عن State الخاصة بالحاوية على أنها Exited إذا كانت متوقفة، كما هو موضح في المثال أدناه:

Docker Compose on CentOS 5

ستعرض الحاوية قيد التشغيل حاليًا ما يلي:

يمكنك إنهاء جميع حاويات Docker قيد التشغيل في نفس الدليل الذي يحتوي على ملف docker-compose.yml الذي استخدمته لبدء مجموعة Docker:

ملاحظة: إذا كنت بحاجة إلى إيقاف التشغيل بشكل أكثر قسرية، فإن docker-compose kill متاح أيضًا.

في بعض الحالات، قد تتمكن حاويات Docker من حفظ بياناتها القديمة بالداخل. استخدم الأمر rm لإزالة جميع الحاويات من مجموعة الحاويات الخاصة بك إذا كنت تريد البدء من الصفر:

سيؤدي تشغيل أي من هذه الأوامر من دليل آخر غير الدليل الذي توجد فيه حاوية Docker وملف .yml إلى ظهور رسالة خطأ:

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

الخطوة 4: الوصول إلى نظام ملفات حاوية Docker

من الممكن تشغيل موجه أوامر في حاوية والوصول إلى نظام ملفات الحاوية باستخدام docker exec، وهي أداة سطر أوامر. على سبيل المثال، قم بتشغيل “Hello World” وانظر كم من الوقت يستغرق اكتمال الأمر docker exec . من أجل هذا البرنامج التعليمي، يمكن استخدام صورة Nginx من Docker Hub . قم بإنشاء دليل جديد باسم nginx والانتقال إليه:

يجب أن يكون لديك الآن ملف docker-compose.yml، والذي يمكنك فتحه في محرر نصوص:

ثم، في الملف، أضف ما يلي:

لقد حان الوقت لإغلاق التطبيق. لبدء تشغيل حاوية Nginx في الخلفية، استخدم الأمر التالي:

Docker Compose on CentOS 1

سيقوم Docker Compose بتنزيل صورة Nginx وتشغيل الحاوية في الخلفية. للمتابعة، ستحتاج إلى إدخال CONTAINER ID الخاص بالحاوية. يمكنك عرض جميع الحاويات قيد التشغيل حاليًا باستخدام الأمر التالي:

سترى ما يلي:

 Docker Compose on CentOS 4

إذا كنت تريد تعديل نظام الملفات داخل هذه الحاوية، باستخدام docker exec، فستستخدم المعرف الفريد للحاوية (في هذه الحالة، f139d0d78ca7) لإنشاء غلاف (shell) داخل الحاوية:

sudo docker exec -it

يمكن فتح طرفية تفاعلية باستخدام الخيار -t، بينما يوفر /bin/bash للحاوية غلاف bash. هذا هو موجه bash الذي ستراه للحاوية بعد ذلك:

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

الخاتمة

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

لمزيد من استكشاف قوة Docker Compose، يمكنك الرجوع إلى هذه البرامج التعليمية من مدونتنا:

حوسبة سعيدة!

author

Hark Labs

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.