أنت لست وحدك في هذا العالم إذا كنت غير راضٍ لفترة طويلة عما يبدو عليه الإخراج القياسي لـ 
docker ps . على الرغم من وجود العديد من الحلول حول هذا الموضوع 
(راجع نهاية المقالة) ، فبمجرد أن كان على المتحمسين القيام بـ "شيء آخر" ... وهذا ما حدث في عام 2019 القادم. اسمه 
عامل ميناء جميل-ملاحظة .
فكرة المؤلف غير عادية: الإخراج الأفقي والألوان من أجل الوضوح.

وكجمهور ، 
تسمى الأدوات المساعدة "المطورين بدلاً من مهندسي DevOps أو SRE المتشددين". 
الاحتمالات
مع المظهر ، يجب أن يكون كل شيء واضحًا من الصورة. ماذا تسمح الأداة بمعنى الوظائف؟ بشكل افتراضي ، يتم عرض جميع الحاويات قيد التشغيل ، ولكن هذا بالطبع لا يقتصر على الاحتمالات - docker-pretty-ps يدعمها:
- إخراج جميع الحاويات (بما في ذلك توقف) ؛
- البحث عن الحاويات حسب القالب: docker-pretty-ps my,tryسيعرض الحاويات باسم:*my*و*try*(على سبيل المثال ،docker-registryandmysql-redmine) ؛
- عدة خيارات الفرز.
- حقول الإخراج القابلة للتخصيص لكل حاوية (متوفرة: container_id،created،ports،image_id،status،command) ؛
- وضع إخراج slimمضغوط (يزيل جميع الحقول المذكورة أعلاه ، مع ترك أسماء الحاويات فقط):
 
  
- إخراج البيانات في شكل JSON.
التثبيت
تتم كتابة رمز المشروع في Python ، ويلاحظ المؤلفون بشكل منفصل أن حزم Python التابعة لجهات خارجية لا تُستخدم ، لذلك يكفي أن يكون لديك Docker و Python في النظام ، وهذا صحيح بالنسبة للكثيرين.
يتم التثبيت من خلال نقطة:
 pip install docker-pretty-ps 
... أو مجموعة بسيطة:
 git clone https://github.com/politeauthority/docker-pretty-ps.git cd docker-pretty-ps python3 setup.py build python3 setup.py install 
كل شيء - يمكنك استخدام:
 $ docker-pretty-ps -h usage: docker-pretty-ps [-h] [-a] [-s] [-i INCLUDE] [-o [ORDER]] [-r] [-j] [-v] [search] positional arguments: search Phrase to search containers, comma separate multiples. optional arguments: … 
حلول أخرى
على الرغم من الدعم واسع النطاق على رديت ، هذه الأداة ليست بالتأكيد مناسبة للجميع. على وجه الخصوص ، إذا كان لديك العديد من الحاويات (عشرات أو أكثر) ، فلن يكون استخدام الوضع 
slim مناسبًا دائمًا. ومن ثم يمكن أن يكون أحد الحلول المعروفة أكثر فائدة.
عامل ميناء PS - الشكل
خيار التنسيق لـ 
docker ps ليس مجرد حل بديل ، بل إنه الحل الأفضل أيضًا. لا يتطلب أي شيء إضافي من حيث التثبيت في النظام.
يتم قبول وسيطة 
--format بواسطة العديد من أوامر Docker ، مما يسمح (عبر 
go-template ) بتخصيص 
--format لأنفسهم. بالنسبة لفريق 
docker ps ، ظهر دعمه منذ وقت طويل (في إصدار Docker 1.8 من أغسطس 2015). هنا مثال على استخدامه:
 [flant] d.shurupov@kube-node-test ~ $ sudo docker ps --format 'table {{.Names}}\t{{.Image}}' NAMES IMAGE k8s_fluentd_fluentd-jmzjd_loghouse… flant/loghouse-fluentd… k8s_cert-manager_cert-manager-… quay.io/jetstack/cert-manager-controller… k8s_prometheus-config-reloader_… 597141b113d9 k8s_prometheus_prometheus-main-… cc866859f8df k8s_POD_prometheus-main-0_kube-… k8s.gcr.io/pause-amd64:3.1 … 
(ملاحظة: في المثال أعلاه ، تم اقتصاص الأسماء الكاملة للحاويات والصور يدويًا لتصور أفضل.)يمكن العثور على تفاصيل حول العمل باستخدام - 
--format ، على سبيل المثال ، في 
هذه المقالة ، وأمثلة من الوظائف المتاحة موجودة في 
وثائق Docker .
ctop
ربما تكون الطريقة الأكثر شيوعًا هي استخدام الأداة المساعدة 
ctop ، والتي توفر واجهة تشبه 
top الكلاسيكية ، ولكن بالنسبة لحاويات Docker:

يمكن تقليل تشغيله المريح في وحدة التحكم إلى اسم مستعار:
alias ctop='docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest'بالإضافة إلى ذلك ، بالطبع ، هناك واجهات أخرى - أكثر تقدماً في قدراتها - لكن وصفها يتجاوز نطاق المقالة. ماذا تستخدم؟
PS
اقرأ أيضًا في مدونتنا: