Keep an Eye on Container Status with lazydocker

While I’m perfectly content to get information about a running Docker container using docker container stats or docker container inspect, it’s occasionally nice to use something more visual. But I’m not wild about Portainer or the many other, often abandoned web-based tools. That’s why it was nice to learn about lazydocker.

lazydocker logo
Image credit: lazydocker project

lazydocker

Grab information with the built-in commands.

The docker container suite of commands have all sorts of ways of getting information about a container that’s running. They’re detailed, comprehensive, and useful. They’re also kinda boring to look at after a while. And sometimes collating the related information is tedious.

Boring looking image of container stats.

More boring container stats.

See the above screenshots from a couple of docker container commands. Yup. Those are detailed and accurate stats. There’s also fairly blah to look at repeatedly.

Visualize with lazydocker.

As described on its website, lazydocker is “A simple terminal UI for both Docker and docker-compose, written in Go with the gocui library.” While I don’t know why Go or gocui are relevant, I definitely appreciate the way lazydocker shows my current container status. Here are a couple of example screenshots:

lazydocker stats view for a container.
lazydocker stats view for a container

lazydocker top view for a different container.
lazydocker top view for a different container.

Is it showing the same information I can get with the built-in tools? Of course. Is it a heck of a lot nicer to look at and use? Absolutely.

It also — at least with my terminal stack — works very well with the mouse. I normally navigate with the keyboard, but occasionally when I’m in lazy mode, or my hand is already on the mouse, I use the mouse. Super convenient and nice that this works.

Install.

I think the only complaint I have with lazydocker is the installation process, or at least on Ubuntu 22.04 LTS. The installation section of the readme doesn’t have a section specific for Ubuntu — which is fine — so this led me to try to install it as a Docker image. Sadly, unless I’m looking at the wrong container registry, the image of lazydocker on Docker Hub is ancient, so I don’t want to touch that. Additionally, their own Docker build instructions were bombing out on me with obscure errors. Maybe it’s me, or maybe it’s something else, but I found all this to be non-trivial.

Ultimately I ended up using their instructions for installing the “Binary Release.” This worked well, but I’m slightly bummed one of the other methods didn’t work — now I’ll need to remember to run this script occasionally to keep things up to date.

Lastly, I do appreciate the tip to create an lzd alias. That is, indeed, quite handy.

What are the long-term prospects?

One other thing I’ve noticed is the project hasn’t seen all that much activity in the last six months. One release, a handful of commits, and not much going on in the GitHub issues or pull requests. This isn’t inherently a bad thing — it could simply be that the project is mostly done and doesn’t need much maintenance. Or it could indicate the author has mostly lost interest and this will slowly die on the vine, like so many other lightweight docker monitoring tools. I’ll be keeping my eye on this and we’ll see what happens.

lazydocker adds spice to an otherwise bland diet.

All that said, I absolutely appreciate what lazydocker does. It’s fast, small, and makes something inherently very boring much more interesting. The visuals are great, the keyboard navigation is great, and the mouse support is a tasty cherry on top. Thanks very much to Jesse Duffield for creating this project, and also thank you to Raid Owl for making me aware of and demonstrating this application.

Conversation

Join the conversation

Your email address will not be published. Required fields are marked *