
Hace dos años, ya
hicimos una revisión de las interfaces GUI para trabajar con Docker, pero el mundo de los amantes de tales soluciones no se detiene. El otro día, se actualizó la versión 0.2, y al mismo tiempo se publicitó ampliamente, el joven
lazydocker del proyecto, posicionándose como "una forma más perezosa de administrar todo en Docker". La utilidad está ganando popularidad rápidamente: ayer mismo, el número de sus estrellas GitHub no alcanzó los 3000, y hoy ha superado los 4000.
Las posibilidades
Los autores de lazydocker explican la apariencia de su creación de esta manera:
“Recordar los comandos de docker
es difícil. Memorizar alias es un poco menos difícil. Es casi imposible controlar el estado de los contenedores a través de las numerosas ventanas de la terminal. Pero, ¿qué pasaría si toda la información requerida estuviera en una ventana y se pudiera acceder a cada comando típico presionando una tecla (y fuera posible agregar sus propios comandos)? El objetivo de Lazydocker es hacer realidad este sueño ".
Por lo tanto, lazydocker hace que el terminal sea una interfaz interactiva para Docker y Docker Compose, que le permite cambiar rápida y convenientemente entre servicios que se ejecutan en diferentes contenedores y recursos relacionados (imágenes, volúmenes), ver su estado y ejecutar varios comandos. Como "a veces es mejor ver una vez", los autores se encargaron de una ilustración de gif muy autosuficiente:

La interfaz de navegación es compatible tanto con el teclado como con el mouse. Cuando selecciona el elemento deseado, un menú contextual está disponible para ello:
Ejemplo de menú contextual para el contenedor seleccionadoComo puede ver, cada comando también tiene una clave predefinida para realizar rápidamente acciones populares. Puede ver una lista completa de ellos
aquí (por cierto, el menú tiene
localizaciones para varios idiomas, entre los cuales todavía no hay ruso).
Se debe prestar especial atención a ver el estado de los contenedores: aquí no solo el resultado de los registros y la configuración, sino también las estadísticas que se muestran gráficamente (por defecto, esto es consumo de CPU / memoria) y los principales procesos. Estas capacidades se extienden a métricas arbitrarias, para ver gráficamente qué gráficos también están configurados (consulte la sección de
stats
en la
configuración ).
Para las imágenes seleccionadas, puede ver los comandos del
Dockerfile
que se ejecutan cuando se ejecutan, las capas heredadas. Se proporciona limpieza de contenedores no utilizados, imágenes, volúmenes (
prune
).
Los comandos disponibles pueden modificarse, así como complementarse con los suyos. Es fácil ver cómo hacerlo en los bloques
commandTemplates
y
customCommands
de la
commandTemplates
(por cierto, la configuración también se puede editar directamente desde la propia utilidad):
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: [] …
Instalación
Lazydocker está escrito en Go usando la biblioteca
gocui , diseñada para crear interfaces de consola. Requiere Go versión 1.12. El código fuente se distribuye bajo la licencia gratuita BSD 3-Cláusula (Nueva).
La instalación se reduce a un simple comando:
go get github.com/jesseduffield/lazydocker
El resto es más fácil de probar y ver por ti mismo.
Perspectivas
El desarrollo de lazydocker hasta ahora ha sido llevado a cabo predominantemente por una persona, pero la "sangre fresca" frente a la comunidad en general ha traído su popularidad. Por ejemplo, ahora estamos discutiendo relaciones
públicas iniciadas hace menos de un día por un
Dockerfile rediseñado y una
instalación simplificada de una versión de utilidad binaria en distribuciones de Linux.
En los problemas del proyecto, puede ver las solicitudes de mejoras, como las
combinaciones de teclas personalizadas y la
compatibilidad con el docker stack
. Nuevamente, aparecieron hace menos de un día.
Todo esto sugiere que en el futuro cercano podemos esperar la maduración de lazydocker a una solución más funcional y conveniente, para lo cual la comunidad Docker ha aparecido una clara demanda.
PS
Lea también en nuestro blog: