opensourceprojects.dev

A broadsheet for software that doesn't ask for your email

A terminal UI for Docker and Docker Compose that just works
GitHub RepoImpressions4

Project Description

View on GitHub

Stop Typing Docker Commands: A Terminal UI That Makes Container Management Visual

You know the drill: you're juggling half a dozen containers, need to check logs on one, restart another, and maybe peek at resource usage on a third. Before you know it, you've typed docker ps, then docker logs --tail 50, then docker-compose restart, and your terminal history looks like a novel. There's a better way. Lazydocker is a terminal UI for Docker and Docker Compose that turns all that typing into a visual, keyboard-driven interface.

What It Does

Lazydocker is a simple terminal user interface for both Docker and Docker Compose, written in Go using the gocui library. It gives you a single, full-screen view of your containers, images, volumes, and services, all accessible without leaving your terminal. You can navigate between panels, view logs in real time, restart containers, and manage your entire Docker workflow through keyboard shortcuts rather than remembering command flags.

The project comes from Jesse Duffield, the same developer behind Lazygit, so if you've used that tool, the design philosophy will feel familiar: reduce friction, keep it in the terminal, and make common operations fast. The architecture is lightweight--it's a single binary with no dependencies beyond Docker being installed on your system.

Why It's Cool

The real value here isn't complexity--it's the opposite. Lazydocker strips away the cognitive overhead of managing containers by hand. Here's what makes it worth your time:

  • Context without context-switching. You get a dashboard that shows running containers, their resource usage, logs, and Docker Compose services all at once. You don't have to remember which terminal tab has your logs and which has your container list--it's all in one place.

  • Keyboard-driven efficiency. Every common operation has a keybinding. Want to view logs for a specific container? Press a key. Need to restart a service? Another key. You never touch your mouse, and you never type a Docker command unless you want to. For developers who live in the terminal, this is a significant speed improvement over typing out docker-compose logs --tail 100 service_name for the fifth time that day.

  • It works with Docker Compose out of the box. Many Docker management tools treat Docker and Docker Compose as separate concerns. Lazydocker handles both, showing your Compose services alongside your standalone containers. If your project uses docker-compose.yml files, you can see your service hierarchy, start and stop groups of containers, and view aggregated logs without extra configuration.

  • Single binary, zero setup. It's written in Go, so installation is straightforward--download the binary for your platform, or use Homebrew on macOS, and you're running. No daemon, no web server, no dependencies beyond Docker itself.

  • Real-time log streaming. Instead of tailing logs in a separate window or using Docker's built-in log commands, logs stream directly in the interface. You can scroll through history, filter by container, and see output as it happens. It's the kind of feature that sounds minor until you've used it for five minutes.

How to Try It

Getting started takes about thirty seconds. If you're on macOS with Homebrew:

brew install jesseduffield/lazydocker/lazydocker

Or grab the latest binary from the releases page. Once installed, just run:

lazydocker

That's it. If Docker is running and you have containers or Compose services active, you'll see them immediately in the interface. The main panels show containers on the left, their logs in the center, and a summary view on the right. Use the arrow keys to navigate, press : to bring up commands, or hit x to remove a container--the keybindings are listed at the bottom of the screen.

For the full experience, check out the demo video on YouTube to see it in action before you install.

Final Thoughts

Lazydocker isn't trying to replace Docker's CLI or be a full management platform. It solves a specific, practical problem: making day-to-day container operations faster and less error-prone. If you spend any amount of time working with Docker containers--whether for local development, testing, or production debugging--this tool will save you from typing the same commands over and over. It's one of those projects that feels obvious once you've used it, and you'll wonder why you didn't start sooner.


Follow @githubprojects for more developer tools and open source projects.

Back to Projects
Project ID: 11e60540-0049-4d88-ad98-dcf9af1efb39Last updated: July 5, 2026 at 02:43 AM