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


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

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

كيفية البحث عن صورة عامل ميناء وسحبها

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

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

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

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

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

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

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

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

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

بناء صورة جديدة باستخدام 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 الخاصة بك:

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

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

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

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

docker stop my-http-server

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

docker commit my-http-server my-new-server-image
محطة تعرض الأمر الفرعي للالتزام الذي يقوم بإنشاء صورة جديدة من حاوية 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 الخاصة بك، قم بتشغيل ملف 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 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.

حقوق الصورة: شامين حقي عبر Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

اشترك في نشرتنا الإخبارية!

يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك

رمسيس الأحمر

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

اترك تعليقاً

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

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