Una vez que has visto todas las posibilidades que te ofrece docker, y conoces la gestión siguiendo el tutorial sobre docker o de cualquier otra forma, habrás llegado a la conclusión de que si bien es realmente sencillo, la gestión es bastante tediosa. Necesitas conocer toda una serie de instrucciones y comandos para saber que contenedores tienes en marcha, así como para obtener información de los mismos. Ya te puedes imaginar, que seguro, algún que otro desarrollador se habrá puesto manos a la obra para hacernos la vida mas simple, en lo que a la gestión de docker se refiere. Y efectivamente, no andas nada desencaminado. Existe una herramienta, también para la línea de comandos, que te va a ayudar con esta gestión. Se trata de lazydocker.
Seguro que te suena al menos el nombre. Y es que, en otro artículo escribí sobre una herramienta muy similar a esta, pero dirigida a Git. Me refiero a lazygit. Y si te suena, y ves que la idea es muy similar, es porque el desarrollador, que está detrás de ambos proyectos es el mismo, Jesse Duffield.
Lazydocker o Docker para perezosos
¿Que es Lazydocker? Efectivamente, tal y como te he adelantado en la introducción, Lazydocker es una forma de utilizar docker de forma mas comoda. Se trata de una sencilla y simple interfaz, para el terminal, que te va a permitir gestionar tanto Docker como Docker-Compose. Se trata de una herramienta implementada en Go.
Características
Esta herramienta tiene algunas características que la hacen realmente interesante. Así por destacarte algunas de ellas,
- Te permite ver el estado de cada contenedor de forma sencilla y práctica
- Puedes acceder al log de cada uno de tus contenedores, igualmente, de forma muy sencilla.
- Podrás ver gráficos ascii de las métricas de cada uno de tus contenedores.
- Por supuesto, te permite personalizar y adaptar esas métricas a tus necesidades, de forma que vas a poder mostrar casi cualquier parámetro que quieras.
- Hacer operaciones masivas, como el borrado de contenedores o volúmenes que no se está utilizando son operaciones tremendamente sencillas con lazydocker.
Instalación
Tienes dos opciones, o bien descargas directamente el binario desde el repositorio, que puede resultar lo más cómodo, o bien utilizar un contenedor. Para el primero de los casos, tan solo tienes que ejecutar la siguiente instrucción en un terminal,
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
En el caso de que prefieras utilizar un contenedor. Si tu arquitectura es de 64 bit, tienes que levantar el siguiente contenedor,
docker run --rm -it -v \
/var/run/docker.sock:/var/run/docker.sock \
-v /yourpath:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker
Para simplificarte la vida, a la hora de utilizar el contenedor, es interesante que utilices el siguiente alias,
echo "alias lzd='docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v /yourpath/config:/.config/jesseduffield/lazydocker lazyteam/lazydocker'" >> ~/.bashrc
Para el caso de tu querida Raspberry, o otra placa de características similares, o simplemente, alguna placa que utilice arquitectura ARM, re recomiendo visites la página del proyecto.
Uso y funcionamiento
Para comenzar con el uso de Lazydocke, simplemente tienes que ejecutar lazydocker
. O en su caso, utilizar el alias que te he indicado anteriormente.
Una vez iniciado lazydocker, verás que te encuentras la pantalla dividida en dos partes. A la izquierda, te encuentras, 4 ó 5 paneles, (dependiendo de los contenedores que tengas en marcha), uno sobre otro, mientras que a la derecha, solo encontrarás un único panel. Aunque, no te dejes engañar, porque ese único panel, puede tener varias pestañas, dependiendo de que panel hayas seleccionado a la izquierda. Para desplazarte entre los paneles de la izquierda utiliza las flechas.
➡ ⬅
para desplazarte de un panel a otro. Dentro de los paneles de la izquierda.⬆ ⬇
dentro de un panel de la izquierda te permite seleccionar cada uno de los elementos. Así, para moverte entre imágenes, una vez en el panel de imágenes, con las flechas arriba y abajo, cambias de una imagen a otra. Lo mismo, para el caso de contenedores y volúmenes.Enter
para ir al panel principal. Al panel situado a la derecha.Esc
vuelves a los paneles de la izquierda.
Así, los paneles de la izquierda son los siguientes,
- Project. Encontrarás información relativa al proyecto y a tu configuración. Puedes editar la configuración utilizando la tecla
e
o abrirla utilizando la teclao
. - Contenedores. En este segundo panel, encontrarás toda la información relativa a los contenedores. En el panel de la derecha, tienes, en este caso, cuatro pestañas. Logs, estadísticas, configuración y el comando top. Si quieres cambiar entre las diferentes pestañas, tienes que utilizar
[
y]
. En el caso de que quieras borrar un contenedord
. Para mostrar u ocultar los contenedores paradose
. Para parar un contenedors
. En el caso de que quieras reiniciar un contenedorr
.b
, te permite realizar diferentes operaciones con contenedores de forma masiva. - Servicios. Te muestra los servicios en funcionamiento. Y tienes algunos atajos de teclados similares a los que has visto en el caso de los contenedores.
- Imágenes. Es el panel donde encontrarás las diferentes imágenes que tienes disponibles en tu equipo. En este caso, en la panel derecho, encontrarás información relativa a la configuración de la imagen correspondiente.
- Volúmenes. En este último panel, lo que encontrarás es información relativa a los diferentes volúmenes que tienes en tu equipo. De nuevo los atajos de teclado, son muy similares a los vistos hasta el momento. Solo recordarte que con la tecla
b
, puedes realizar operaciones de forma masiva, en lugar de operar volumen a volumen.
El vídeo
A continuación te muestro el funcionamiento de lazydocker para que veas el potencial y lo sencillo que es de utilizar.
Más información,