docker-pretty-ps - finalmente um docker legível ps

Você não está sozinho neste mundo se por um longo tempo não estiver satisfeito com a aparência da saída padrão do docker ps . Embora existam várias soluções alternativas sobre esse assunto (consulte o final do artigo) , uma vez que um entusiasta teve que fazer “outra coisa” ... e isso aconteceu no próximo 2019. O nome dele é docker-pretty-ps .

A ideia do autor é muito banal: saída horizontal e cores para maior clareza.



E, como público, os utilitários são chamados de "desenvolvedores, e não engenheiros de DevOps ou SRE".

As possibilidades


Com a aparência, tudo deve ficar claro a partir da imagem. O que o utilitário permite no sentido de funções? Por padrão, todos os contêineres em execução são exibidos, mas isso, obviamente, não se limita às possibilidades - o docker-pretty-ps suporta:

  • saída de todos os contêineres (inclusive parados);
  • pesquise contêineres por modelo: docker-pretty-ps my,try exibirá os contêineres nos quais *my* e *try* (por exemplo, docker-registry e mysql-redmine );
  • várias opções de classificação;
  • campos de saída personalizáveis ​​para cada contêiner (disponível: container_id , created , ports , image_id , status , command );
  • modo de saída compacto e slim (remove todos os campos listados acima, deixando apenas os nomes dos contêineres):

  • dados de saída no formato JSON.

Instalação


O código do projeto é escrito em Python e os autores observam separadamente que pacotes Python de terceiros não são usados; portanto, para iniciar, basta ter Docker e Python no sistema, o que é verdade para muitos.

A instalação é feita através do pip:

 pip install docker-pretty-ps 

... ou uma montagem simples:

 git clone https://github.com/politeauthority/docker-pretty-ps.git cd docker-pretty-ps python3 setup.py build python3 setup.py install 

Tudo - você pode usar:

 $ 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: … 

Outras soluções alternativas


Apesar do amplo suporte no Reddit, esse utilitário certamente não é adequado para todos. Em particular, se você tiver muitos contêineres (dezenas ou mais), mesmo usando o modo slim nem sempre será conveniente. E, em seguida, uma das soluções conhecidas pode ser mais útil.

docker ps --format


A opção de formatação para o docker ps não é apenas uma solução alternativa, mas, de certa forma, a melhor solução também. Não requer nada extra em termos de instalação no sistema.

O argumento --format é aceito por muitos comandos do Docker, permitindo (via go-template ) personalizar sua saída para eles mesmos. Para a equipe do docker ps , seu suporte apareceu há muito tempo (no lançamento do Docker 1.8 de agosto de 2015). Aqui está um exemplo de seu uso:

 [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 … 

(Observação: no exemplo acima, os nomes completos dos contêineres e imagens foram cortados manualmente para melhor visualização.)

Detalhes sobre como trabalhar com --format podem ser encontrados, por exemplo, neste artigo , e exemplos de funções disponíveis na documentação do Docker .

ctop


Talvez uma maneira ainda mais popular seja usar o utilitário ctop , que oferece uma interface semelhante à parte top clássica, mas para contêineres do Docker:



Seu lançamento conveniente no console pode ser reduzido a um apelido:

alias ctop='docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest'

Além disso, é claro, existem outras interfaces - mais avançadas em seus recursos -, mas sua descrição está além do escopo do artigo. O que você usa?

PS


Leia também em nosso blog:

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


All Articles