سواء كنت مبتدئاً أو محترفاً في DevOps، فإن إتقان إدارة حاويات Docker مهارة أساسية لا غنى عنها. في هذا الدليل، سنغطي كل ما تحتاج معرفته، من الأوامر الأساسية إلى التقنيات المتقدمة لعرض حاويات Docker. اتباع هذا الدليل سيُساعدك على تحسين سير عملك ورفع كفاءة نظامك.
لماذا تعرض حاويات Docker؟
الغرض الأساسي من Docker هو تمكين المطوّرين من تغليف التطبيقات في حاويات. تشمل هذه الحاويات الكود المصدري للتطبيق إلى جانب مكتبات نظام التشغيل والتبعيات اللازمة لتشغيل ذلك الكود في أي بيئة. إن كنت تريد معرفة المزيد عن آلية عمل هذه الحاويات والفوائد التي تُقدمها لعملية تطوير التطبيقات، أنصح بشدة بالاطلاع على مقالتنا الأخرى حول فوائد الحوسبة بالحاويات. أما في هذا الدليل، فسنركّز على كيفية عرض حاويات docker.
بينما يُسهم Docker في تسهيل تطوير التطبيقات، قد تُصبح إدارة هذه الحاويات مرهقة وصعبة دون الأدوات والأوامر الصحيحة. لذا، لنرَ كيف يُسهم عرض حاويات Docker في تبسيط إدارتها.
- المراقبة: بعرض حاويات docker بصفة منتظمة، يمكنك مراقبة الحاويات قيد التشغيل والاطلاع على حالتها بنظرة واحدة.
- تشخيص الأعطال: عندما تحدث مشكلة، يمكنك سرد حاويات Docker لتحديد الحاويات المتأثرة وجمع السجلات والتفاصيل اللازمة لحلها.
- إدارة موارد النظام: بسرد جميع الحاويات النشطة والمتوقفة، يمكنك إدارة موارد النظام بكفاءة أكبر. بهذه الطريقة، تضمن ألا تستهلك أي حاوية أكثر من حصتها العادلة من ذاكرة النظام ووقت المعالج.
بعد أن عرفت سبب سرد حاويات Docker، لنستعرض بعض تطبيقاتها العملية:
- اختبار التطوير: يحتاج المطورون في الغالب إلى التحقق من بيئة الكود الخاصة بهم. إذا قاموا بسرد حاويات Docker، يمكنهم التأكد من أن الإصدارات والإعدادات الصحيحة نشطة.
- بيئات الإنتاج: في بيئة الإنتاج، تحتاج فرق التشغيل إلى ضمان التوافر العالي والأداء الجيد. لذا، بسرد حاويات Docker قيد التشغيل، يمكنهم متابعة عمليات النشر وإدارتها وفقاً لذلك.
- التدقيق الأمني: تحتاج فرق الأمن إلى سرد حاويات Docker للتحقق من وجود أي حاويات غير مصرح بها تعمل كجزء من عملية التدقيق الأمني. في هذا السيناريو، يمكنك اكتشاف النشاط غير المصرح به ومنعه قبل أن يتحول إلى مشكلة.
إذا أتقنت كيفية سرد حاويات Docker، يمكنك تبسيط مهام تشغيلية متعددة. سواء كنت تنشر تطبيقات جديدة، أو تراقب التطبيقات القائمة، أو تُجري صيانة دورية، فإن إتقان سرد حاويات Docker بفعالية مهارة أساسية لاستخدام Docker باحترافية.
الأوامر الأساسية لسرد حاويات Docker
لنستعرض الأوامر الأساسية اللازمة لسرد حاويات Docker قيد التشغيل. إذا كنت مبتدئاً في Docker، سيوفر لك هذا القسم أساساً متيناً. وإذا لم تكن مبتدئاً وتريد فقط تحديث مهاراتك في سطر الأوامر، فهذه المعلومات مفيدة لك أيضاً.
الأمر الأساسي: docker ps
يُعدّ الأمر docker ps الأكثر استخداماً لسرد حاويات Docker. بشكل افتراضي، يعرض قائمة بجميع الحاويات قيد التشغيل حالياً. كتابة docker ps في سطر الأوامر ستعرض الحاويات النشطة مع معرّفاتها والصور المستخدمة والأمر الذي أُنشئت به ووقت الإنشاء والحالة والمنافذ والأسماء.
رغم أن docker ps قوي بحد ذاته، يمكنك إضافة خيارات متعددة إليه لتحسين المخرجات:
- سرد جميع الحاويات: بشكل افتراضي، يعرض docker ps الحاويات قيد التشغيل فقط. إذا أردت سرد جميع الحاويات، بما فيها المتوقفة، يمكنك استخدام الخيار -a أو --all:
docker ps -a
- تصفية المخرجات: إذا أردت البحث عن حاويات محددة بناءً على الحالة أو الاسم أو العمر، يمكنك استخدام الخيار --filter. على سبيل المثال، للعثور على جميع الحاويات المتوقفة حالياً:
docker ps --filter "status=exited"
- تنسيق المخرجات: يتيح لك الخيار --format تخصيص المخرجات باستخدام قوالب Go. بهذه الطريقة، يمكنك تحليل المخرجات في السكربتات أو تضييق نطاق المعلومات لعرض ما يهمك فقط. على سبيل المثال، لعرض معرّفات الحاويات وأسمائها فقط:
docker ps --format "{{.ID}}: {{.Names}}"
كما ترى، الأمر الأساسي لسرد حاويات Docker بسيط ومباشر. فهم هذه الأوامر والخيارات يُمكّنك من سرد حاويات Docker بفعالية أكبر وإدارتها بكفاءة.
تقنيات متقدمة لسرد حاويات Docker
بمجرد أن تتقن الأوامر الأساسية لعرض حاويات Docker، يمكنك الانتقال إلى الأساليب المتقدمة لتحسين إدارة Docker بشكل أكبر.
استخدام الفلاتر المتقدمة
الخيار –filter في أمر docker ps مرن للغاية، ويمكنك من خلاله بناء استعلامات دقيقة عن حاوياتك. إليك بعض أساليب التصفية المتقدمة:
- التصفية حسب الشبكة: إذا أردت إيجاد الحاويات المرتبطة بشبكة معينة، استخدم:
docker ps --filter "network=bridge"
- التصفية حسب وحدة التخزين: لعرض جميع الحاويات التي تستخدم وحدة تخزين محددة:
docker ps --filter "volume=/your/volume"
- دمج الفلاتر: يمكنك أيضاً دمج عدة فلاتر لتضييق نطاق البحث. على سبيل المثال، للبحث عن الحاويات التي توقفت وكانت مبنية على صورة Ubuntu:
docker ps --filter "status=exited" --filter "ancestor=ubuntu"
تخصيص المخرجات بالتنسيق المتقدم
إذا أردت معالجة قوائم الحاويات في سكريبتات، أو أردت ببساطة عرضاً أكثر تخصيصاً، يمكنك استخدام الخيار –format. يتيح لك هذا الخيار تحديد الخصائص التي تريد عرضها بالضبط، ويعتمد على لغة القوالب في Go.
- أعمدة مخصصة: بدلاً من المخرجات الكاملة، يمكنك عرض سمات محددة فقط:
docker ps --format "{{.ID}}: {{.Image}}: {{.Command}}"
- إنشاء جداول: يمكنك إنشاء جداول خاصة بك للحصول على مخرجات أكثر وضوحاً، وهذا مفيد بشكل خاص عند التعامل مع عدد كبير من الحاويات:
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Status}}"
استخدام Docker Inspect للحصول على معلومات تفصيلية
بينما يُستخدم docker ps لعرض قائمة الحاويات، يوفر docker inspect معلومات أعمق حول حاوية بعينها. يمكنك استخدام الأمرين معاً للحصول على قائمة حاويات docker مع بيانات أكثر تفصيلاً:
- فحص تفاصيل محددة: للحصول على معلومات تفصيلية حول إعدادات الشبكة لحاوية ما، استخدم:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id
- الفحص الجماعي باستخدام السكريبتات: إذا أردت فحص عدة حاويات دفعة واحدة، يمكنك استخدام docker inspect للتنقل عبر جميع معرّفات الحاويات:
docker ps -q | xargs docker inspect --format '{{ .Id }}: {{ .Name }}'
الأتمتة باستخدام سكريبتات Bash
يمكن للمستخدمين المتقدمين أتمتة عمليات عرض الحاويات وفحصها باستخدام سكريبتات Bash. على سبيل المثال، سكريبت يعرض جميع الحاويات مع عناوين IP الخاصة بها قد يبدو كالتالي:
#!/bin/bash
docker ps -q | while read line; do
docker inspect --format '{{ .Id }}: {{ .NetworkSettings.IPAddress }}' $line
done
تُعزز هذه الأساليب المتقدمة لعرض حاويات Docker قدرتك على إدارة بيئات Docker والتفاعل معها، وتمنحك إشرافاً وتحكماً أدق. وهذا ما يجعلها أداة قيّمة لكل من يريد الارتقاء بعمليات Docker لديه.
خلاصة
تعلّم كيفية عرض حاويات Docker أمر ضروري لكل من يريد تحقيق أقصى استفادة من Docker وتبسيط عمليات DevOps لديه. قدّم هذا الدليل مقدمة شاملة لعرض قوائم حاويات docker. إذا طبّقت هذه الأساليب والتقنيات، ستصبح عملية تطوير تطبيقاتك أكثر سلاسة. لمن يريد تعزيز بيئات Docker بشكل أكبر، جرّب استخدام VPS السحابي. Cloudzy تقدم حلول VPS سحابية متميزة مع دعم على مدار الساعة طوال أيام الأسبوع، وضمان وقت تشغيل بنسبة 99.95%، وتقنيات متقدمة تضمن استمرار تشغيل حاويات Docker دون انقطاع. يمكنك أيضاً الاختيار من بين أشهر توزيعات Linux والحصول على توزيعتك المفضلة مثبتة مسبقاً وجاهزة للاستخدام. لا تتردد في تحسين إدارة حاوياتك مع Cloudzy.
استضافة Linux بكل يسر
هل تبحث عن طريقة أفضل لاستضافة مواقعك وتطبيقاتك؟ أو تطوّر شيئاً جديداً؟ أو ببساطة لا تميل إلى Windows؟ لهذا أوجدنا Linux VPS.
احصل على Linux VPSالأسئلة الشائعة
كيف أعرض قائمة بجميع حاويات Docker؟
لعرض جميع حاويات Docker، سواء كانت تعمل أو متوقفة، استخدم الأمر docker container ls -a أو docker ps -a. يعرض هذا الأمر معلومات تفصيلية كمعرّفات الحاويات والصور والحالة وغيرها.
كيف أشغّل أمر حاوية Docker؟
لتشغيل حاوية Docker، استخدم الأمر docker run متبوعاً بالخيارات واسم الصورة. على سبيل المثال: docker run -d -p 8080:80 nginx يشغّل حاوية Nginx في الوضع المنفصل مع تعيين المنفذ 8080 إلى المنفذ 80.
كيف أشغّل جميع حاويات Docker؟
لا يدعم Docker أمراً مباشراً لتشغيل جميع الحاويات المتوقفة دفعة واحدة. غير أنه يمكنك تنفيذ ذلك عبر سكريبت: docker start $(docker ps -aq) الذي يشغّل جميع الحاويات التي يسردها الأمر docker ps -aq والذي يجلب معرّفات جميع الحاويات.