Lazydocker - GUI do Docker diretamente no terminal



Há dois anos, já fizemos uma revisão das interfaces da GUI para trabalhar com o Docker, mas o mundo dos amantes dessas soluções não fica parado. No outro dia, a versão 0.2 foi atualizada e, ao mesmo tempo em que foi amplamente divulgada, o jovem projeto preguiçoso , posicionando-se como "uma maneira mais preguiçosa de gerenciar tudo no Docker". O utilitário está ganhando popularidade rapidamente - ontem, o número de estrelas do GitHub não chegou a 3000 e hoje ultrapassou os 4000.

As possibilidades


Os autores do lazydocker explicam a aparência de sua ideia da seguinte maneira:

“Lembrar comandos do docker é difícil. Memorizar aliases é um pouco menos difícil. É quase impossível monitorar a condição dos contêineres através das inúmeras janelas do terminal. Mas e se todas as informações necessárias estivessem em uma janela e cada comando típico estivesse acessível pressionando uma tecla (e foi possível adicionar seus próprios comandos)? O objetivo da Lazydocker é tornar esse sonho realidade. ”

Portanto, o lazydocker torna o terminal uma interface interativa para o Docker e o Docker Compose, que permite alternar de forma rápida e conveniente entre serviços executados em diferentes contêineres e recursos relacionados (imagens, volumes), exibir seu status e executar vários comandos. Como "às vezes é melhor ver uma vez", os autores cuidaram de uma ilustração gif muito auto-suficiente:



A navegação da interface é suportada pelo teclado e pelo mouse. Quando você seleciona o item desejado, um menu de contexto fica disponível para ele:


Exemplo de menu de contexto para o contêiner selecionado

Como você pode ver, cada comando também possui uma chave predefinida para executar rapidamente ações populares. Uma lista completa deles pode ser vista aqui (a propósito, o menu tem localizações para vários idiomas, entre os quais ainda não há russo).

Atenção especial merece atenção para visualizar o status dos contêineres: aqui não apenas a saída de logs e configurações, mas também as estatísticas exibidas graficamente (por padrão, esse é o consumo de CPU / memória) e os principais processos. Esses recursos se aplicam a métricas arbitrárias, para visualização gráfica de quais gráficos também estão configurados (consulte a seção de stats na configuração ).

Para as imagens selecionadas, é possível ver os comandos do Dockerfile que são executados quando são executados, as camadas herdadas. É fornecida a limpeza de recipientes não utilizados, imagens, volumes ( prune ).

Os comandos disponíveis podem ser modificados e complementados com os seus. Como fazer isso, é fácil ver nos blocos customCommands e customCommands da commandTemplates (a propósito, a configuração também pode ser editada diretamente no próprio utilitário):

 commandTemplates: dockerCompose: docker-compose restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}' stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}' … customCommands: containers: - name: bash attach: true command: docker exec -it {{ .Container.ID }} /bin/sh serviceNames: [] … 

Instalação


O Lazydocker é escrito em Go usando a biblioteca gocui , projetada para criar interfaces de console. Requer a versão 1.12 do Go. O código fonte é distribuído sob a licença gratuita BSD 3-Clause (New).

A instalação se resume a um comando simples:

 go get github.com/jesseduffield/lazydocker 

O resto é mais fácil de tentar e ver por si mesmo.

Perspectivas


Até agora, apenas uma pessoa desenvolveu o lazydocker, mas o "sangue fresco" em face da comunidade em geral trouxe sua popularidade. Por exemplo, agora estamos discutindo PRs iniciados há menos de um dia por um Dockerfile reprojetado e uma instalação simplificada de um release de utilitário binário em distribuições Linux.

Nas questões do projeto, você pode ver solicitações de aprimoramentos, como combinações de teclas personalizadas e suporte ao docker stack . Mais uma vez, eles apareceram menos de um dia atrás.

Tudo isso sugere que, em um futuro próximo, podemos esperar a maturação do lazydocker para uma solução mais funcional e conveniente, para a qual a comunidade do Docker parece ter uma demanda clara.

PS


Leia também em nosso blog:

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


All Articles