Anda tidak sendirian di dunia ini jika untuk waktu yang lama Anda tidak puas dengan seperti apa output standar dari
docker ps
. Meskipun ada berbagai solusi untuk masalah ini
(lihat bagian akhir artikel) , seorang penggila harus melakukan "sesuatu yang lain" ... dan ini terjadi pada 2019 mendatang. Namanya
docker-pretty-ps .
Gagasan penulis sangat dangkal: keluaran horizontal dan warna untuk kejelasan.

Dan sebagai audiens, utilitas
disebut "pengembang daripada insinyur DevOps atau SRE hardcore."
Kemungkinan
Dengan penampilan, semuanya harus jelas dari gambar. Apa yang dibolehkan utilitas dalam arti fungsi? Secara default, semua kontainer yang berjalan ditampilkan, tetapi ini, tentu saja, tidak terbatas pada kemungkinan - docker-pretty-ps mendukungnya:
- output dari semua kontainer (termasuk yang dihentikan);
- mencari wadah berdasarkan templat:
docker-pretty-ps my,try
akan menampilkan wadah atas nama *my*
dan *try*
(misalnya, docker-registry
dan mysql-redmine
); - beberapa opsi penyortiran;
- bidang output yang dapat disesuaikan untuk setiap wadah (tersedia:
container_id
, created
, ports
, image_id
, status
, command
); - mode keluaran
slim
(menghapus semua bidang yang tercantum di atas, hanya menyisakan nama-nama wadah):

- data output dalam format JSON.
Instalasi
Kode proyek ditulis dalam Python dan penulis secara terpisah mencatat bahwa paket Python pihak ketiga tidak digunakan, jadi untuk memulainya sudah cukup untuk memiliki Docker dan Python dalam sistem, yang berlaku untuk banyak orang.
Instalasi dilakukan melalui pip:
pip install docker-pretty-ps
... atau perakitan sederhana:
git clone https://github.com/politeauthority/docker-pretty-ps.git cd docker-pretty-ps python3 setup.py build python3 setup.py install
Semuanya - Anda dapat menggunakan:
$ 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: …
Penanganan lainnya
Meskipun ada dukungan luas pada Reddit, utilitas ini tentu tidak cocok untuk semua orang. Secara khusus, jika Anda memiliki banyak wadah (puluhan atau lebih), maka bahkan menggunakan mode
slim
tidak akan selalu nyaman. Dan kemudian salah satu solusi terkenal bisa lebih bermanfaat.
buruh pelabuhan ps --format
Opsi pemformatan untuk
docker ps
bukan hanya solusi, tetapi dalam arti solusi terbaik juga. Tidak memerlukan tambahan apa pun dalam hal pemasangan di sistem.
Argumen
--format
diterima oleh banyak perintah Docker, memungkinkan (via
go-templat ) untuk menyesuaikan output mereka sendiri. Untuk tim
docker ps
, dukungannya muncul sejak lama (dalam rilis Docker 1.8 dari Agustus 2015). Berikut ini adalah contoh penggunaannya:
[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 …
(NB: Dalam contoh di atas, nama lengkap wadah dan gambar dipotong secara manual untuk visualisasi yang lebih baik.)Detail tentang bekerja dengan
--format
dapat ditemukan, misalnya, dalam
artikel ini , dan contoh fungsi yang tersedia dapat ditemukan dalam
dokumentasi Docker .
ctop
Mungkin cara yang lebih populer adalah dengan menggunakan utilitas
ctop , yang menawarkan antarmuka yang mirip dengan
top
klasik, tetapi untuk wadah Docker:

Peluncurannya yang nyaman di konsol dapat direduksi menjadi alias seperti itu:
alias ctop='docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest'
Selain itu, tentu saja, ada yang lain - lebih maju dalam kemampuan mereka - antarmuka, tetapi deskripsi mereka berada di luar ruang lingkup artikel. Apa yang kamu gunakan
PS
Baca juga di blog kami: