أنت لست وحدك في هذا العالم إذا كنت غير راضٍ لفترة طويلة عما يبدو عليه الإخراج القياسي لـ
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
اقرأ أيضًا في مدونتنا: