عامل ميناء جميلة - ملاحظة - أخيرا عامل ميناء قابل للقراءة

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

فكرة المؤلف غير عادية: الإخراج الأفقي والألوان من أجل الوضوح.



وكجمهور ، تسمى الأدوات المساعدة "المطورين بدلاً من مهندسي DevOps أو SRE المتشددين".

الاحتمالات


مع المظهر ، يجب أن يكون كل شيء واضحًا من الصورة. ماذا تسمح الأداة بمعنى الوظائف؟ بشكل افتراضي ، يتم عرض جميع الحاويات قيد التشغيل ، ولكن هذا بالطبع لا يقتصر على الاحتمالات - docker-pretty-ps يدعمها:

  • إخراج جميع الحاويات (بما في ذلك توقف) ؛
  • البحث عن الحاويات حسب القالب: docker-pretty-ps my,try سيعرض الحاويات باسم: *my* و *try* (على سبيل المثال ، docker-registry and mysql-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


اقرأ أيضًا في مدونتنا:

Source: https://habr.com/ru/post/ar436896/


All Articles