jesseduffield /lazydocker

The lazier way to manage everything docker

★ 53,307⑂ 1,707👁 278⑃ 371● 424▤ 47◈ 38
GoMITCreated 2019-05-18
TA的项目
53,307
stars
+5+68+265
1,707
forks
278
watchers
371
prs
424
issues
47
releases
38
discussions

README

Special thanks to:



  
    
  
  Warp, the intelligent terminal
  
  Available for MacOS and Linux
  
  
    Visit warp.dev to learn more.
  




  
    
  
  Tuple, the premier screen sharing app for developers on macOS and Windows.





  
    
  
  Click here to learn more







  


A simple terminal UI for both docker and docker-compose, written in Go with the gocui library.

!CI



!GitHub repo size




!Gif

Demo

 Sponsors


 Maintenance of this project is made possible by all the contributors and sponsors. If you'd like to sponsor this project and have your avatar or company logo appear below click here. 💙






 Elevator Pitch

Minor rant incoming: Something's not working? Maybe a service is down. docker-compose ps. Yep, it's that microservice that's still buggy. No issue, I'll just restart it: docker-compose restart. Okay now let's try again. Oh wait the issue is still there. Hmm. docker-compose ps. Right so the service must have just stopped immediately after starting. I probably would have known that if I was reading the log stream, but there is a lot of clutter in there from other services. I could get the logs for just that one service with docker compose logs --follow myservice but that dies everytime the service dies so I'd need to run that command every time I restart the service. I could alternatively run docker-compose up myservice and in that terminal window if the service is down I could just up it again, but now I've got one service hogging a terminal window even after I no longer care about its logs. I guess when I want to reclaim the terminal realestate I can do ctrl+P,Q, but... wait, that's not working for some reason. Should I use ctrl+C instead? I can't remember if that closes the foreground process or kills the actual service.

What a headache!

Memorising docker commands is hard. Memorising aliases is slightly less hard. Keeping track of your containers across multiple terminal windows is near impossible. What if you had all the information you needed in one terminal window with every common command living one keypress away (and the ability to add custom commands as well). Lazydocker's goal is to make that dream a reality.

- Requirements
- Installation
- Usage
- Keybindings
- Cool Features
- Contributing
- Video Tutorial
- Config Docs
- Twitch Stream
- FAQ

 Requirements

- Docker = 29.0.0 (API = 1.24)
- Docker-Compose = 1.23.2 (optional)

 Installation

 Homebrew

Normally lazydocker formula can be found in the Homebrew core but we suggest you to tap our formula to get frequently updated one. It works with Linux, too.

Tap:
sh
brew install jesseduffield/lazydocker/lazydocker


Core:
sh
brew install lazydocker


 Scoop (Windows)

You can install lazydocker using scoop:

sh
scoop install lazydocker

 Chocolatey (Windows)

You can install lazydocker using Chocolatey:

sh
choco install lazydocker

 asdf-vm

You can install asdf-lazydocker plugin using asdf-vm:
 Setup (Once)
sh
asdf plugin add lazydocker https://gith

Top issues

Discussions

Latest release

v0.25.2 v0.25.2 2026-04-19
Changelog
 697cd44 Add some claude stuff
 b17d474 Fixed forced project view
 e3c1c86 Hide project/services panels when not in a docker-compose project
 ebce4fc Initial plan
 9134abe Merge pull request 776 from jesseduffield/copilot/disable-forced-project-view
 8106125 Merge pull request 795 from ddibiasi/copilot/disable-forced-project-view
 7e7aadc Merge pull request 797 from jesseduffield/support-p-flag
 3974f6f Support -p flag and DRY up code
 f5ff116 Use IsProjectScoped at remaining call sites + add test

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON