• Fri. Sep 20th, 2024

كيفية استخدام حاويات Docker

Byadmin

Aug 4, 2024

صورة لشخص يقوم بالبرمجة على الكمبيوتر المحمول.

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

ملحوظة:ابدأ بتثبيت Docker أولاً على نظام Linux الخاص بك.

كيفية العثور على صورة Docker وسحبها

حاويات Docker هي نوع خاص من بيئة البرامج التي تسمح لك بتشغيل البرامج بشكل منفصل عن بقية نظامك الأصلي. لتحقيق ذلك، يستخدم Docker “صور البرامج”. وهي عبارة عن نسخ ثابتة من البرامج تعمل كقاعدة تبدأ منها الحاوية.

يتيح لك هذا التمييز بين الصورة والحاوية إعادة إنشاء وتكييف برنامجك بأي طريقة ضرورية. على سبيل المثال، يمكنك الحصول على صورة مثل “httpd” ولكن يمكنك إنشاء حاويتين منفصلتين منها: “website1″ و”website2”.

أسهل طريقة للبحث عن صورة Docker جديدة هي استخدام search الأمر الفرعي:

محطة طرفية تسلط الضوء على صورة Docker httpd من أداة CLI.

يمكنك أيضًا البحث عن الحزم على مركز دوكر الموقع الإلكتروني إذا كنت تفضل استخدام متصفح الويب الخاص بك.

لقطة شاشة تعرض صورة Docker httpd من موقع Docker Hub.

لتنزيل الصورة على نظامك، قم بتشغيل الأمر التالي:

تأكد من أنك قمت بإضافة صورتك الجديدة إلى نظامك بشكل صحيح باستخدام images الأمر الفرعي:

محطة طرفية تسلط الضوء على صورة Docker httpd المثبتة على النظام.

إنشاء صورة جديدة باستخدام Dockerfiles

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

للقيام بذلك، قم أولاً بإنشاء مجلد في الدليل الرئيسي الخاص بك لملفات البناء الخاصة بك:

mkdir ~/my-docker-image && cd ~/my-docker-image

قم بإنشاء ملف Dockerfile جديد باستخدام محرر النصوص المفضل لديك:

قم بلصق أسطر التعليمات البرمجية التالية داخل ملف Dockerfile الجديد الخاص بك:

FROM nginx
COPY sample-site /usr/share/nginx/html
محطة طرفية تعرض مثالاً لتكوين Dockerfile لصورة Nginx مخصصة.

قم بإنشاء مجلد “موقع العينة” ثم انسخ فيه أو قم بإنشاء موقع HTML أساسي:

mkdir ./sample-site
cp ~/index.html ./sample-site/

احفظ ملف Dockerfile الجديد، ثم قم بتشغيل الأمر التالي لبنائه على نظامك:

docker build -t custom-nginx .

تحقق مما إذا كانت صورة Docker الجديدة موجودة في قائمة صور Docker الخاصة بك:

محطة تسلط الضوء على الصورة المخصصة التي تم إنشاؤها من الأمر الفرعي build.

إنشاء صورة جديدة باستخدام الحاويات الموجودة

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

للقيام بذلك، تأكد من أن الحاوية الخاصة بك لا تعمل حاليًا:

docker stop my-http-server

قم بتشغيل commit الأمر الفرعي متبوعًا باسم الحاوية الخاصة بك، ثم قم بتوفير اسم صورة Docker الجديدة بعد ذلك:

docker commit my-http-server my-new-server-image
محطة طرفية تُظهر الأمر الفرعي commit الذي ينشئ صورة جديدة من حاوية Docker.

تأكد من وجود صورة Docker الجديدة في نظامك عن طريق تشغيل docker images.

محطة تسلط الضوء على الصورة المخصصة الجديدة من حاوية Docker المثبتة في النظام.

كيفية تشغيل حاوية Docker وإيقافها

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

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

ال run يمكن للأمر الفرعي أيضًا استيعاب عدد من العلامات الإضافية التي يمكنها تغيير سلوك حاوية Docker الجديدة. على سبيل المثال، --name يتيح لك العلم إضافة اسم قابل للتخصيص إلى الحاوية الخاصة بك:

docker run -d --name=my-http-server httpd

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

docker run -d --name=my-http-server --publish 8080:80 httpd
لقطة شاشة تُظهر متصفح ويب يفتح موقع الويب المستضاف بواسطة حاوية Docker المخصصة.

بإمكانك التحقق من جميع حاويات Docker التي تعمل حاليًا في نظامك عن طريق تشغيل الأمر التالي:

مشابهه ل run أمر فرعي، ps يمكن أيضًا استيعاب عدد قليل من العلامات التي ستعدل كيفية تصرفها. على سبيل المثال، لعرض الحاويات المعطلة حاليًا، استخدم -a علَم:

لإيقاف تشغيل الحاوية قيد التشغيل، استخدم stop الأمر الفرعي متبوعًا إما بمعرف الحاوية أو باسم حاوية Docker الخاصة بك:

docker stop my-http-server
محطة طرفية تُظهر عملية إيقاف تشغيل حاوية Docker قيد التشغيل حاليًا.

يمكنك إعادة تشغيل أي حاوية أوقفتها عن طريق إعادة تشغيل start الأمر الفرعي:

docker start my-http-server

في ملحوظة جانبية: تعلم أساسيات استضافة الويب مع Docker عن طريق تشغيل موقع ويب بسيط باستخدام darkhttpd.

إيقاف مؤقت وإنهاء حاوية Docker

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

ابدأ بالجري docker ps لإدراج جميع الحاويات قيد التشغيل في النظام.

ابحث عن معرف أو اسم الحاوية التي تريد إدارتها.

محطة تسلط الضوء على حاوية Docker المخصصة التي تعمل حاليًا في النظام.

قم بتشغيل pause الأمر الفرعي متبوعًا باسم الحاوية التي تريد تعليقها مؤقتًا:

docker pause my-http-server

يمكنك استئناف عملية معلقة عن طريق تشغيل unpause الأمر الفرعي:

docker unpause my-http-server

لإيقاف عملية سيئة السلوك، قم بتشغيل kill الأمر الفرعي متبوعًا باسم الحاوية الخاصة بك:

docker kill my-http-server

كيفية فحص حاوية Docker

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

لإلقاء نظرة عامة على حاوية Docker الخاصة بك، قم بتشغيل inspect الأمر الفرعي:

docker inspect my-http-server

سيؤدي القيام بذلك إلى طباعة سلسلة JSON طويلة تصف الحالة الحالية للحاوية بأكملها. يمكنك تضييق نطاق هذا إما عن طريق توجيه الإخراج إلى jq أو استخدام المضمن -f العلم متبوعًا بالكائن JSON الذي تريد طباعته:

docker inspect -f {{.Name}} my-http-server
محطة طرفية تعرض علم التصفية لأمر التفتيش الفرعي على حاوية Docker قيد التشغيل.

طباعة سجلات الحاويات على المحطة الطرفية

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

للقيام بذلك، قم بتشغيل الأمر الفرعي logs متبوعًا باسم الحاوية الخاصة بك:

docker logs my-http-server

يمكنك أيضًا تشغيل الأمر الفرعي للسجلات باستخدام --follow علم لإنشاء سجل مستمر لخدمة Docker الخاصة بك. هذا مشابه لتشغيل tail -f في نهاية أنبوب UNIX:

docker logs --follow my-http-server
محطة طرفية تعرض السجلات المستمرة لحاوية Docker.

على غرار الأوامر الفرعية الأخرى، يمكنك أيضًا إضافة علامات مختلفة لتخصيص إخراج سجل حاوية Docker الخاصة بك. على سبيل المثال، --timestamps تضيف العلامة علامة زمنية مفصلة لكل رسالة يرسلها الحاوية الخاصة بك إلى STDOUT الخاص بها:

docker logs --timestamps my-http-server

ال --details ستطبع العلامة أيضًا متغيرات البيئة التي قمت بتعيينها لحاوية Docker الحالية الخاصة بك. وفي الوقت نفسه، --since يتيح لك العلم إظهار السجلات التي حدثت بعد نقطة زمنية معينة فقط:

docker logs --details --since 8m my-http-server
محطة طرفية تعرض إخراج سجل أكثر تفصيلاً من حاوية Docker قيد التشغيل حاليًا.

كيفية تخصيص حاوية Docker

في الأساس، يعد Docker Container إصدارًا صغيرًا ومختصرًا من Linux يعمل على نظامك الحالي. وهذا يعني أنه، على غرار الآلة الافتراضية، من الممكن الوصول إلى البيانات الموجودة داخل الحاوية واستردادها.

لنسخ ملف محلي من جهازك المضيف إلى الحاوية، قم بتشغيل cp الأمر الفرعي:

docker cp ~/my-file my-http-server:/tmp

في بعض الأحيان، قد تحتاج أيضًا إلى “الدخول” إلى الحاويات من خلال فتح غلاف بداخلها. بهذه الطريقة، يمكنك تحرير الملفات وتثبيت الثنائيات وتخصيصها وفقًا لاحتياجاتك:

docker exec -it my-http-server /bin/bash
محطة طرفية توضح عملية الإسقاط على غلاف جذر الحاوية.

الآن، يمكنك، على سبيل المثال، تحرير “index.html” وإنشاء صفحة رئيسية لموقع الويب داخله.

محطة طرفية تعرض ملف HTML تم نسخه إلى غلاف الجذر لحاوية Docker.

للخروج من غلاف الحاوية عن طريق الضغط على كنترول + دأو الجري exit على المحطة.

محطة تسلط الضوء على أمر الخروج من غلاف الجذر لحاوية Docker.

جيد ان تعلم: تعرف على كيفية نقل حاوية Docker الموجودة إلى نظام جديد.

كيفية حذف حاويات Docker والصور

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

قبل حذف الحاوية، تأكد من إيقافها أولاً:

docker stop my-http-server

الآن، قم بإزالة الحاوية باستخدام rm الأمر الفرعي:

تأكد من أنك قمت بحذف حاوية Docker القديمة بشكل صحيح عن طريق تشغيل docker ps -a.

محطة طرفية تعرض جميع حاويات Docker المتاحة بما في ذلك الحاويات المعطلة حاليًا.

احذف صورة Docker الأصلية من نشر Docker الخاص بك:

docker rmi my-new-server-image
محطة طرفية تسلط الضوء على إخراج حذف صورة Docker من النظام.

تحقق مما إذا كنت قد قمت بإزالة صورة Docker الأصلية بشكل صحيح عن طريق تشغيل docker images.

محطة طرفية تعرض قائمة صور Docker المحدثة.

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

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *