
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 selecionadoComo 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: