تكنولوجيا

ماذا سيفعل Docker ومتى يجب استخدامه؟ – تقنية المعلومات الذكية

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

ما هو Docker؟

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

يعمل Docker Motor على Linux و Home windows و macOS ، ويدعم حاويات Docker لنظامي التشغيل Linux و Home windows. النمط الدقيق لنظام Linux ليس مهمًا في الواقع ؛ ستعمل معظم إصدارات Linux نفس النواة ، لكن برنامج المستخدم مختلف. يمكن لـ Docker تثبيت برنامج المستخدم هذا في حاوية ، مما يسمح لك بتشغيل حاويات CentOS على Ubuntu. على سبيل المثال ، لا يمكنك تشغيل FreeBSD على Ubuntu لأن النواة مختلفة.

تحتوي صورة حاوية Docker على ما يحتاج تطبيقك لتشغيله فقط. إذا كان تطبيقك يستخدم nginx و Node.js ، فستتضمنهما صورة الحاوية ، لكنك لن تكون مثقلًا بكل تطبيقات userland الأخرى التي يمكنك العثور عليها عادةً على Linux.

ذات صلة: كيفية تثبيت Docker and Docker Compose على نظام Linux

لماذا يعتبر Docker مفيدًا جدًا؟

يستخدم Docker نفس نوع التحكم في الإصدار والتعبئة التي توفرها أدوات مثل Git و NPM ، ويسمح لك باستخدامه لبرنامج الخادم. نظرًا لأن الحاوية الخاصة بك عبارة عن صورة واحدة ، يمكنك بسهولة تتبع الإصدارات المختلفة من الحاوية. نظرًا لأنه تم تضمين كل شيء ، فإنه يسهل إدارة جميع التبعيات.

مع Docker ، ستكون بيئة التطوير لديك هي نفسها بيئة الإنتاج تمامًا ، وستكون تمامًا مثل بيئة التطوير لأي شخص آخر ، وبالتالي التخفيف من مشكلة “تعطل الجهاز!”.

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

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

يساعد Docker في تنظيفه ؛ يمكنك حزم خادم ويب وتشغيله باستخدام حاويات nginx ، ويمكنك حزم خادم API وتشغيله باستخدام حاوية Node.js ، أو يمكنك حزم قاعدة بيانات وتشغيلها في حاويتها الخاصة (على الرغم من يمكن ليست أفضل فكرة ، لكنها ممكنة). يمكنك تشغيل جميع حاويات Docker الثلاثة على نفس الجهاز. إذا كنت بحاجة إلى تبديل الخوادم ، فالأمر بسيط مثل ترحيل هذه الحاويات إلى خادم جديد. إذا كنت بحاجة إلى التوسع ، يمكنك نقل إحدى الحاويات إلى خادم جديد ، أو نشرها عبر مجموعة من الخوادم.

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

كيف تستخدم Docker؟

في الإنتاج ، هناك العديد من الخدمات التي يمكنها استضافة حاويات Docker ، بما في ذلك AWS ECS ومثيلات حاوية Azure و DigitalOcean Docker Droplets وما إلى ذلك. إذا كان موفر الخدمة الخاص بك لا يوفر استضافة Docker مُدارة ، فيمكنك دائمًا تثبيتها بنفسك على VPS الخاص بك.

قيد التطوير ، حاوية Docker سهلة التشغيل ولا تتطلب سوى عدد قليل من الأوامر. أولاً ، تحتاج إلى تثبيت محرك Docker على نظام التشغيل المضيف. بالنسبة لنظامي التشغيل Windows و macOS ، يمكنك استخدام Docker Desktop ، ولكن في نظام Linux ، تحتاج إلى تثبيت Docker Community Version من مدير الحزم. بالنسبة للتوزيع المستند إلى Debian مثل Ubuntu ، سيكون هذا:

sudo apt-get set up docker

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

docker run howdy-environment

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

لنقم بإنشاء خادم ويب بسيط يعتمد على nginx. يوفر Nginx بناءًا على Docker Hub ، والذي يمكننا استخدامه كنقطة بداية. قم بإنشاء دليل جديد لتخزين الملفات ، ثم افتحه:

mkdir ~/dockertest && cd ~/dockertest

سيتم إجراء أي تغييرات على صورة nginx الأساسية من خلال Dockerfile. تشبه Dockerfiles ملفات makefiles للحاويات. فهي تحدد الأوامر التي يجب تشغيلها عندما ينشئ Docker صورة جديدة مع التغييرات التي أجريتها. يتم اختصار Dockerfile كـ Dockerfile، بدون تمديد.قم بإنشاء هذا الملف contact Dockerfile، ثم افتحه في محرر نصوص. الصق هذا في:

FROM nginx
Duplicate html /usr/share/nginx/html

السطر الأول هو أمر Docker يخبر Docker أن يبني الصورة على صورة nginx الخاصة بـ Hub. السطر الثاني هو أمر آخر لنسخ الدليل من المجلد المحلي (~/dockertest/html) إلى صورة Docker ، في هذه الحالة استبدل مجلد HTML الخاص بـ nginx.

يمكنك تشغيل عدد كبير من الأوامر في Dockerfiles.على سبيل المثال ، إذا كان التطبيق الخاص بك يحتاج إلى تثبيت التبعيات ، فيمكنك القيام بما يلي Operate cd src/ && npm put inيتم تحديد أي شيء يحتاجه تطبيقك لإرشاده للتثبيت والبدء والتشغيل في Dockerfile.

في الواقع لم نفعل ذلك ./html الدليل ، لذا استمر في التشغيل:

mkdir html && contact html/index.html

إنشاء جدول المحتويات وإدخال HTML.شغله index.html والصق بعض HTML الوهمي:




Hello From nginx, inside of Docker! Within, your computer?


الآن نحن جاهزون لصورتنا.تأكد من أنك في الدليل الجذر للمشروع (بتنسيق ~/dockertest، ليس في html المجلد) وتشغيل:

docker develop -t dockertest .

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

docker run --title DockerTest -p 8080:80 -d dockertest

سيبدأ هذا حاوية جديدة تسمى DockerTest باستخدام صورة “dockertest” التي أنشأناها.هذا -p تربط العلامة المنفذ المحلي بالمنفذ الموجود داخل الحاوية. في هذه الحالة ، تربط منفذ HTTP الافتراضي (المنفذ 80) لـ nginx بالمنفذ 8080 على الكمبيوتر المحلي.شغله localhost:8080 في متصفح الويب الخاص بك ، يجب أن تشاهد nginx قيد التشغيل.

إذا كنت تريد مزيدًا من الضبط ، فيمكنك تحرير ملف تكوين nginx ، بما في ذلك Copy nginx.conf /and so forth/nginx/nginx.conf واكتب ملف التكوين الخاص بك. يعد هذا أكثر صعوبة في التهيئة من تحرير ملف التكوين مباشرة ، لأنه يتعين عليك إعادة إنشاء الصورة في كل مرة تقوم فيها بالتحرير. ولكن من أجل الفائدة الإضافية المتمثلة في القدرة على أخذ نفس الحاويات التي تستخدمها في التطوير ونشرها في الإنتاج ، فهذه مقايضة عادلة للغاية.

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

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى