{"id":13393561,"url":"https://github.com/jesseduffield/lazydocker","last_synced_at":"2026-03-15T07:49:53.174Z","repository":{"id":37431197,"uuid":"187335810","full_name":"jesseduffield/lazydocker","owner":"jesseduffield","description":"The lazier way to manage everything docker","archived":false,"fork":false,"pushed_at":"2024-12-22T10:43:30.000Z","size":28730,"stargazers_count":43860,"open_issues_count":203,"forks_count":1380,"subscribers_count":265,"default_branch":"master","last_synced_at":"2025-05-06T11:31:31.865Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jesseduffield.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["jesseduffield"],"custom":["https://donorbox.org/lazygit"]}},"created_at":"2019-05-18T08:53:50.000Z","updated_at":"2025-05-06T10:04:53.000Z","dependencies_parsed_at":"2024-05-30T15:21:52.489Z","dependency_job_id":"4662f600-1e80-4868-ac05-07c0b147f173","html_url":"https://github.com/jesseduffield/lazydocker","commit_stats":{"total_commits":596,"total_committers":65,"mean_commits":9.169230769230769,"dds":0.4295302013422819,"last_synced_commit":"fcc0bbe5527ca9495a99a813d030f57b346ca913"},"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesseduffield%2Flazydocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesseduffield%2Flazydocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesseduffield%2Flazydocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jesseduffield%2Flazydocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jesseduffield","download_url":"https://codeload.github.com/jesseduffield/lazydocker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253967858,"owners_count":21992251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T17:00:55.991Z","updated_at":"2026-03-15T07:49:53.168Z","avatar_url":"https://github.com/jesseduffield.png","language":"Go","readme":"\u003cdiv align=\"center\"\u003e\n\u003csup\u003eSpecial thanks to:\u003c/sup\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\u003ca href=\"https://www.warp.dev/?utm_source=github\u0026utm_medium=referral\u0026utm_campaign=lazydocker_20231023\"\u003e\n  \u003cdiv\u003e\n    \u003cimg src=\"https://github.com/warpdotdev/brand-assets/blob/main/Github/Sponsor/Warp-Github-LG-02.png?raw=true\" width=\"400\" alt=\"Warp\"\u003e\n  \u003c/div\u003e\n  \u003cb\u003eWarp, the intelligent terminal\u003c/b\u003e\n  \u003cbr\u003e\n  \u003cb\u003eAvailable for MacOS and Linux\u003c/b\u003e\n  \u003cbr\u003e\n  \u003cdiv\u003e\n    \u003csup\u003eVisit warp.dev to learn more.\u003c/sup\u003e\n  \u003c/div\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003ca href=\"https://tuple.app/lazydocker\"\u003e\n  \u003cdiv\u003e\n    \u003cimg src=\"assets/tuple.png\" width=\"400\" alt=\"Tuple\"\u003e\n  \u003c/div\u003e\n  \u003cb\u003eTuple, the premier screen sharing app for developers on macOS and Windows.\u003c/b\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\u003cbr\u003e\n\u003ca href=\"https://www.subble.com/jobs/engineer\"\u003e\n  \u003cdiv\u003e\n    \u003cimg src=\"assets/subble-job-ad.jpg\" width=\"400\" alt=\"Subble\"\u003e\n  \u003c/div\u003e\n  \u003cb\u003eClick here to learn more\u003c/b\u003e\n\u003c/a\u003e\n\u003cbr\u003e\n\n\u003chr\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/8456633/59972109-8e9c8480-95cc-11e9-8350-38f7f86ba76d.png\"\u003e\n\u003c/p\u003e\n\nA simple terminal UI for both docker and docker-compose, written in Go with the [gocui](https://github.com/jroimartin/gocui 'gocui') library.\n\n![CI](https://github.com/jesseduffield/lazygit/workflows/Continuous%20Integration/badge.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/jesseduffield/lazydocker)](https://goreportcard.com/report/github.com/jesseduffield/lazydocker)\n[![GolangCI](https://golangci.com/badges/github.com/jesseduffield/lazydocker.svg)](https://golangci.com)\n[![GoDoc](https://godoc.org/github.com/jesseduffield/lazydocker?status.svg)](http://godoc.org/github.com/jesseduffield/lazydocker)\n![GitHub repo size](https://img.shields.io/github/repo-size/jesseduffield/lazydocker)\n[![GitHub Releases](https://img.shields.io/github/downloads/jesseduffield/lazydocker/total)](https://github.com/jesseduffield/lazydocker/releases)\n[![GitHub tag](https://img.shields.io/github/tag/jesseduffield/lazydocker.svg)](https://github.com/jesseduffield/lazydocker/releases/latest)\n[![homebrew](https://img.shields.io/homebrew/v/lazydocker)](https://github.com/Homebrew/homebrew-core/blob/master/Formula/lazydocker.rb)\n\n![Gif](/docs/resources/demo3.gif)\n\n[Demo](https://youtu.be/NICqQPxwJWw)\n\n## Sponsors\n\n\u003cp align=\"center\"\u003e\n Maintenance of this project is made possible by all the \u003ca href=\"https://github.com/jesseduffield/lazydocker/graphs/contributors\"\u003econtributors\u003c/a\u003e and \u003ca href=\"https://github.com/sponsors/jesseduffield\"\u003esponsors\u003c/a\u003e. If you'd like to sponsor this project and have your avatar or company logo appear below \u003ca href=\"https://github.com/sponsors/jesseduffield\"\u003eclick here\u003c/a\u003e. 💙\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003c!-- sponsors --\u003e\u003ca href=\"https://github.com/intabulas\"\u003e\u003cimg src=\"https://github.com/intabulas.png\" width=\"60px\" alt=\"Mark Lussier\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/peppy\"\u003e\u003cimg src=\"https://github.com/peppy.png\" width=\"60px\" alt=\"Dean Herbert\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/piot\"\u003e\u003cimg src=\"https://github.com/piot.png\" width=\"60px\" alt=\"Peter Bjorklund\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/rgwood\"\u003e\u003cimg src=\"https://github.com/rgwood.png\" width=\"60px\" alt=\"Reilly Wood\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/oliverguenther\"\u003e\u003cimg src=\"https://github.com/oliverguenther.png\" width=\"60px\" alt=\"Oliver Günther\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/pawanjay176\"\u003e\u003cimg src=\"https://github.com/pawanjay176.png\" width=\"60px\" alt=\"Pawan Dhananjay\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/bdach\"\u003e\u003cimg src=\"https://github.com/bdach.png\" width=\"60px\" alt=\"Bartłomiej Dach\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/davidklsn\"\u003e\u003cimg src=\"https://github.com/davidklsn.png\" width=\"60px\" alt=\"David Karlsson\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/carstengehling\"\u003e\u003cimg src=\"https://github.com/carstengehling.png\" width=\"60px\" alt=\"Carsten Gehling\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/ceuk\"\u003e\u003cimg src=\"https://github.com/ceuk.png\" width=\"60px\" alt=\"CEUK\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/akospwc\"\u003e\u003cimg src=\"https://github.com/akospwc.png\" width=\"60px\" alt=\"Akos Putz\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Xetera\"\u003e\u003cimg src=\"https://github.com/Xetera.png\" width=\"60px\" alt=\"Xetera\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/HoldenLucas\"\u003e\u003cimg src=\"https://github.com/HoldenLucas.png\" width=\"60px\" alt=\"Holden Lucas\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/nartc\"\u003e\u003cimg src=\"https://github.com/nartc.png\" width=\"60px\" alt=\"Chau Tran\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/matejcik\"\u003e\u003cimg src=\"https://github.com/matejcik.png\" width=\"60px\" alt=\"matejcik\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/lucatume\"\u003e\u003cimg src=\"https://github.com/lucatume.png\" width=\"60px\" alt=\"theAverageDev (Luca Tumedei)\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/IvanZuy\"\u003e\u003cimg src=\"https://github.com/IvanZuy.png\" width=\"60px\" alt=\"Ivan Zaitsev\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/nicholascloud\"\u003e\u003cimg src=\"https://github.com/nicholascloud.png\" width=\"60px\" alt=\"Nicholas Cloud\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/PhotonQuantum\"\u003e\u003cimg src=\"https://github.com/PhotonQuantum.png\" width=\"60px\" alt=\"LightQuantum\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/GitSquared\"\u003e\u003cimg src=\"https://github.com/GitSquared.png\" width=\"60px\" alt=\"Gabriel Saillard\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/ava1ar\"\u003e\u003cimg src=\"https://github.com/ava1ar.png\" width=\"60px\" alt=\"Aliaksandr Stelmachonak\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/minidfx\"\u003e\u003cimg src=\"https://github.com/minidfx.png\" width=\"60px\" alt=\"Burgy Benjamin\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/JoeKlemmer\"\u003e\u003cimg src=\"https://github.com/JoeKlemmer.png\" width=\"60px\" alt=\"Joe Klemmer\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/tobi\"\u003e\u003cimg src=\"https://github.com/tobi.png\" width=\"60px\" alt=\"Tobias Lütke\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/benbfortis\"\u003e\u003cimg src=\"https://github.com/benbfortis.png\" width=\"60px\" alt=\"Ben Beaumont\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/jakewarren\"\u003e\u003cimg src=\"https://github.com/jakewarren.png\" width=\"60px\" alt=\"\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/tgpholly\"\u003e\u003cimg src=\"https://github.com/tgpholly.png\" width=\"60px\" alt=\"Holly\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/jisantuc\"\u003e\u003cimg src=\"https://github.com/jisantuc.png\" width=\"60px\" alt=\"James Santucci\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/bitprophet\"\u003e\u003cimg src=\"https://github.com/bitprophet.png\" width=\"60px\" alt=\"Jeff Forcier\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/tayleighr\"\u003e\u003cimg src=\"https://github.com/tayleighr.png\" width=\"60px\" alt=\"\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Novakov\"\u003e\u003cimg src=\"https://github.com/Novakov.png\" width=\"60px\" alt=\"Maciej T. Nowak\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/farzadmf\"\u003e\u003cimg src=\"https://github.com/farzadmf.png\" width=\"60px\" alt=\"Farzad Majidfayyaz\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/nekhaevskiy\"\u003e\u003cimg src=\"https://github.com/nekhaevskiy.png\" width=\"60px\" alt=\"Yury\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/reivilibre\"\u003e\u003cimg src=\"https://github.com/reivilibre.png\" width=\"60px\" alt=\"\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/andreaskurth\"\u003e\u003cimg src=\"https://github.com/andreaskurth.png\" width=\"60px\" alt=\"Andreas Kurth\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/BSteffaniak\"\u003e\u003cimg src=\"https://github.com/BSteffaniak.png\" width=\"60px\" alt=\"Braden Steffaniak\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/jordan-gillard\"\u003e\u003cimg src=\"https://github.com/jordan-gillard.png\" width=\"60px\" alt=\"Jordan Gillard\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/smangels\"\u003e\u003cimg src=\"https://github.com/smangels.png\" width=\"60px\" alt=\"Sebastian\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/George-Spanos\"\u003e\u003cimg src=\"https://github.com/George-Spanos.png\" width=\"60px\" alt=\"George Spanos\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/frantisekstanko\"\u003e\u003cimg src=\"https://github.com/frantisekstanko.png\" width=\"60px\" alt=\"Frantisek Stanko\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/amslezak\"\u003e\u003cimg src=\"https://github.com/amslezak.png\" width=\"60px\" alt=\"Andy Slezak\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/mkock\"\u003e\u003cimg src=\"https://github.com/mkock.png\" width=\"60px\" alt=\"Martin Kock\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/illarionvk\"\u003e\u003cimg src=\"https://github.com/illarionvk.png\" width=\"60px\" alt=\"Illarion Koperski\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/WhiteBlackGoose\"\u003e\u003cimg src=\"https://github.com/WhiteBlackGoose.png\" width=\"60px\" alt=\"\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/jessealama\"\u003e\u003cimg src=\"https://github.com/jessealama.png\" width=\"60px\" alt=\"Jesse Alama\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/codacy\"\u003e\u003cimg src=\"https://github.com/codacy.png\" width=\"60px\" alt=\"Codacy\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/colbr\"\u003e\u003cimg src=\"https://github.com/colbr.png\" width=\"60px\" alt=\"Brett\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/heijmans\"\u003e\u003cimg src=\"https://github.com/heijmans.png\" width=\"60px\" alt=\"Jan Heijmans\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/Vesther\"\u003e\u003cimg src=\"https://github.com/Vesther.png\" width=\"60px\" alt=\"Kevin Nowald\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/sempruijs\"\u003e\u003cimg src=\"https://github.com/sempruijs.png\" width=\"60px\" alt=\"sem pruijs\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/omarluq\"\u003e\u003cimg src=\"https://github.com/omarluq.png\" width=\"60px\" alt=\"Omar Luq \" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/ethanjli\"\u003e\u003cimg src=\"https://github.com/ethanjli.png\" width=\"60px\" alt=\"Ethan Li\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/phubaba\"\u003e\u003cimg src=\"https://github.com/phubaba.png\" width=\"60px\" alt=\"\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/fomrat\"\u003e\u003cimg src=\"https://github.com/fomrat.png\" width=\"60px\" alt=\"Brian MacAskill\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/canhazcodez\"\u003e\u003cimg src=\"https://github.com/canhazcodez.png\" width=\"60px\" alt=\"Maxi\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/nikbrunner\"\u003e\u003cimg src=\"https://github.com/nikbrunner.png\" width=\"60px\" alt=\"nbr\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/neunkasulle\"\u003e\u003cimg src=\"https://github.com/neunkasulle.png\" width=\"60px\" alt=\"Jan Zenkner\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/ahkohd\"\u003e\u003cimg src=\"https://github.com/ahkohd.png\" width=\"60px\" alt=\"Victor Aremu\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/RVxLab\"\u003e\u003cimg src=\"https://github.com/RVxLab.png\" width=\"60px\" alt=\"\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/igor-ramazanov\"\u003e\u003cimg src=\"https://github.com/igor-ramazanov.png\" width=\"60px\" alt=\"Igor Ramazanov\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/glotchimo\"\u003e\u003cimg src=\"https://github.com/glotchimo.png\" width=\"60px\" alt=\"Elliott Maguire\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/n8nio\"\u003e\u003cimg src=\"https://github.com/n8nio.png\" width=\"60px\" alt=\"n8n - Workflow Automation\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/kaleballmon\"\u003e\u003cimg src=\"https://github.com/kaleballmon.png\" width=\"60px\" alt=\"kaleb allmon\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/joshuadavidthomas\"\u003e\u003cimg src=\"https://github.com/joshuadavidthomas.png\" width=\"60px\" alt=\"Josh Thomas\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/josephjacks\"\u003e\u003cimg src=\"https://github.com/josephjacks.png\" width=\"60px\" alt=\"JJ\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/FrederickGeek8\"\u003e\u003cimg src=\"https://github.com/FrederickGeek8.png\" width=\"60px\" alt=\"Frederick Morlock\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/agrippanux\"\u003e\u003cimg src=\"https://github.com/agrippanux.png\" width=\"60px\" alt=\"Darren Craine\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/ezdac\"\u003e\u003cimg src=\"https://github.com/ezdac.png\" width=\"60px\" alt=\"Maximilian Langenfeld\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/sarzhann\"\u003e\u003cimg src=\"https://github.com/sarzhann.png\" width=\"60px\" alt=\"Nurzhan\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/dbuls\"\u003e\u003cimg src=\"https://github.com/dbuls.png\" width=\"60px\" alt=\"Davis Buls\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/MGreek\"\u003e\u003cimg src=\"https://github.com/MGreek.png\" width=\"60px\" alt=\"Grec Marc\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/sainu\"\u003e\u003cimg src=\"https://github.com/sainu.png\" width=\"60px\" alt=\"sainu\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/mguellsegarra\"\u003e\u003cimg src=\"https://github.com/mguellsegarra.png\" width=\"60px\" alt=\"Marc Güell Segarra\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/lppassos\"\u003e\u003cimg src=\"https://github.com/lppassos.png\" width=\"60px\" alt=\"\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/chrisolsen\"\u003e\u003cimg src=\"https://github.com/chrisolsen.png\" width=\"60px\" alt=\"Chris Olsen\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/vladimir-popov\"\u003e\u003cimg src=\"https://github.com/vladimir-popov.png\" width=\"60px\" alt=\"Vladimir Popov\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/neilcode\"\u003e\u003cimg src=\"https://github.com/neilcode.png\" width=\"60px\" alt=\"Neil Lambert\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/shaungarwood\"\u003e\u003cimg src=\"https://github.com/shaungarwood.png\" width=\"60px\" alt=\"Shaun Garwood\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/dhh\"\u003e\u003cimg src=\"https://github.com/dhh.png\" width=\"60px\" alt=\"David Heinemeier Hansson\" /\u003e\u003c/a\u003e\u003ca href=\"https://github.com/wayanjimmy\"\u003e\u003cimg src=\"https://github.com/wayanjimmy.png\" width=\"60px\" alt=\"Wayan jimmy\" /\u003e\u003c/a\u003e\u003c!-- sponsors --\u003e\n\u003c/p\u003e\n\n## Elevator Pitch\n\nMinor 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.\n\nWhat a headache!\n\nMemorising 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.\n\n- [Requirements](https://github.com/jesseduffield/lazydocker#requirements)\n- [Installation](https://github.com/jesseduffield/lazydocker#installation)\n- [Usage](https://github.com/jesseduffield/lazydocker#usage)\n- [Keybindings](/docs/keybindings)\n- [Cool Features](https://github.com/jesseduffield/lazydocker#cool-features)\n- [Contributing](https://github.com/jesseduffield/lazydocker#contributing)\n- [Video Tutorial](https://youtu.be/NICqQPxwJWw)\n- [Config Docs](/docs/Config.md)\n- [Twitch Stream](https://www.twitch.tv/jesseduffield)\n- [FAQ](https://github.com/jesseduffield/lazydocker#faq)\n\n## Requirements\n\n- Docker \u003e= **29.0.0** (API \u003e= **1.24**)\n- Docker-Compose \u003e= **1.23.2** (optional)\n\n## Installation\n\n### Homebrew\n\nNormally `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.\n\n**Tap**:\n```sh\nbrew install jesseduffield/lazydocker/lazydocker\n```\n\n**Core**:\n```sh\nbrew install lazydocker\n```\n\n### Scoop (Windows)\n\nYou can install `lazydocker` using [scoop](https://scoop.sh/):\n\n```sh\nscoop install lazydocker\n```\n### Chocolatey (Windows)\n\nYou can install `lazydocker` using [Chocolatey](https://chocolatey.org/):\n\n```sh\nchoco install lazydocker\n```\n### asdf-vm\n\nYou can install [asdf-lazydocker plugin](https://github.com/comdotlinux/asdf-lazydocker) using [asdf-vm](https://asdf-vm.com/):\n#### Setup (Once)\n```sh\nasdf plugin add lazydocker https://github.com/comdotlinux/asdf-lazydocker.git\n```\n\n#### For Install / Upgrade\n```sh\nasdf list all lazydocker\nasdf install lazydocker latest\nasdf global lazydocker latest\n```\n\n### Binary Release (Linux/OSX/Windows)\n\nYou can manually download a binary release from [the release page](https://github.com/jesseduffield/lazydocker/releases).\n\nAutomated install/update, don't forget to always verify what you're piping into bash:\n\n```sh\ncurl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash\n```\nThe script installs downloaded binary to `$HOME/.local/bin` directory by default, but it can be changed by setting `DIR` environment variable.\n\n### Go\n\nRequired Go Version \u003e= **1.19**\n\n```sh\ngo install github.com/jesseduffield/lazydocker@latest\n```\n\nRequired Go version \u003e= **1.8**, \u003c= **1.17**\n\n```sh\ngo get github.com/jesseduffield/lazydocker\n```\n\n### Arch Linux AUR\n\nYou can install lazydocker using the [AUR](https://aur.archlinux.org/packages/lazydocker) by running:\n\n```sh\nyay -S lazydocker\n```\n\n### Docker\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/lazyteam/lazydocker.svg)](https://hub.docker.com/r/lazyteam/lazydocker)\n[![Docker Stars](https://img.shields.io/docker/stars/lazyteam/lazydocker.svg)](https://hub.docker.com/r/lazyteam/lazydocker)\n[![Docker Automated](https://img.shields.io/docker/cloud/automated/lazyteam/lazydocker.svg)](https://hub.docker.com/r/lazyteam/lazydocker)\n\n1. \u003cdetails\u003e\u003csummary\u003eClick if you have an ARM device\u003c/summary\u003e\u003cp\u003e\n\n    - If you have a ARM 32 bit v6 architecture\n\n        ```sh\n        docker build -t lazyteam/lazydocker \\\n        --build-arg BASE_IMAGE_BUILDER=arm32v6/golang \\\n        --build-arg GOARCH=arm \\\n        --build-arg GOARM=6 \\\n        https://github.com/jesseduffield/lazydocker.git\n        ```\n\n    - If you have a ARM 32 bit v7 architecture\n\n        ```sh\n        docker build -t lazyteam/lazydocker \\\n        --build-arg BASE_IMAGE_BUILDER=arm32v7/golang \\\n        --build-arg GOARCH=arm \\\n        --build-arg GOARM=7 \\\n        https://github.com/jesseduffield/lazydocker.git\n        ```\n\n    - If you have a ARM 64 bit v8 architecture\n\n        ```sh\n        docker build -t lazyteam/lazydocker \\\n        --build-arg BASE_IMAGE_BUILDER=arm64v8/golang \\\n        --build-arg GOARCH=arm64 \\\n        https://github.com/jesseduffield/lazydocker.git\n        ```\n\n    \u003c/p\u003e\u003c/details\u003e\n\n1. Run the container\n\n    ```sh\n    docker run --rm -it -v \\\n    /var/run/docker.sock:/var/run/docker.sock \\\n    -v /yourpath:/.config/jesseduffield/lazydocker \\\n    lazyteam/lazydocker\n    ```\n\n    - Don't forget to change `/yourpath` to an actual path you created to store lazydocker's config\n    - You can also use this [docker-compose.yml](https://github.com/jesseduffield/lazydocker/blob/master/docker-compose.yml)\n    - You might want to create an alias, for example:\n\n        ```sh\n        echo \"alias lzd='docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v /yourpath/config:/.config/jesseduffield/lazydocker lazyteam/lazydocker'\" \u003e\u003e ~/.zshrc\n        ```\n\n\n\nFor development, you can build the image using:\n\n```sh\ngit clone https://github.com/jesseduffield/lazydocker.git\ncd lazydocker\ndocker build -t lazyteam/lazydocker \\\n    --build-arg BUILD_DATE=`date -u +\"%Y-%m-%dT%H:%M:%SZ\"` \\\n    --build-arg VCS_REF=`git rev-parse --short HEAD` \\\n    --build-arg VERSION=`git describe --abbrev=0 --tag` \\\n    .\n```\n\nIf you encounter a compatibility issue with Docker bundled binary, try rebuilding\nthe image with the build argument `--build-arg DOCKER_VERSION=\"v$(docker -v | cut -d\" \" -f3 | rev | cut -c 2- | rev)\"`\nso that the bundled docker binary matches your host docker binary version.\n\n### Manual\n\nYou'll need to [install Go](https://golang.org/doc/install)\n\n```\ngit clone https://github.com/jesseduffield/lazydocker.git\ncd lazydocker\ngo install\n```\n\nYou can also use `go run main.go` to compile and run in one go (pun definitely intended)\n\n## Usage\n\nCall `lazydocker` in your terminal. I personally use this a lot so I've made an alias for it like so:\n\n```\necho \"alias lzd='lazydocker'\" \u003e\u003e ~/.zshrc\n```\n\n(you can substitute .zshrc for whatever rc file you're using)\n\n- Basic video tutorial [here](https://youtu.be/NICqQPxwJWw).\n- List of keybindings\n  [here](/docs/keybindings).\n\n## Cool features\n\neverything is one keypress away (or one click away! Mouse support FTW):\n\n- viewing the state of your docker or docker-compose container environment at a glance\n- viewing logs for a container/service\n- viewing ascii graphs of your containers' metrics so that you can not only feel but also look like a developer\n- customising those graphs to measure nearly any metric you want\n- attaching to a container/service\n- restarting/removing/rebuilding containers/services\n- viewing the ancestor layers of a given image\n- pruning containers, images, or volumes that are hogging up disk space\n\n## Contributing\n\nThere is still a lot of work to go! Please check out the [contributing guide](CONTRIBUTING.md).\nFor contributor discussion about things not better discussed here in the repo, join the discord channel\n\n\u003ca href=\"https://discord.gg/ehwFt2t4wt\"\u003e\u003cimg src='/docs/resources/discord.png' width='75'\u003e\u003c/a\u003e\n\n## Donate\n\nIf you would like to support the development of lazydocker, consider [sponsoring me](https://github.com/sponsors/jesseduffield) (github is matching all donations dollar-for-dollar for 12 months)\n\n## Social\n\nIf you want to see what I (Jesse) am up to in terms of development, follow me on\n[twitter](https://twitter.com/DuffieldJesse) or watch me program on\n[twitch](https://www.twitch.tv/jesseduffield)\n\n## FAQ\n\n### How do I edit my config?\n\nBy opening lazydocker, clicking on the 'project' panel in the top left, and pressing 'o' (or 'e' if your editor is vim). See [Config Docs](/docs/Config.md)\n\n### How do I get text to wrap in my main panel?\n\nIn the future I want to make this the default, but for now there are some CPU issues that arise with wrapping. If you want to enable wrapping, use `gui.wrapMainPanel: true`\n\n### How do you select text?\n\nBecause we support mouse events, you will need to hold option while dragging the mouse to indicate you're trying to select text rather than click on something. Alternatively you can disable mouse events via the `gui.ignoreMouseEvents` config value.\n\nMac Users: See [Issue #190](https://github.com/jesseduffield/lazydocker/issues/190) for other options.\n\n### Why can't I see my container's logs?\n\nBy default we only show logs from the last hour, so that we're not putting too much strain on the machine. This may be why you can't see logs when you first start lazydocker. This can be overwritten in the config's `commandTemplates`\n\nIf you are running lazydocker in Docker container, it is a know bug, that you can't see logs or CPU usage.\n\n## Alternatives\n\n- [docui](https://github.com/skanehira/docui) - Skanehira beat me to the punch on making a docker terminal UI, so definitely check out that repo as well! I think the two repos can live in harmony though: lazydocker is more about managing existing containers/services, and docui is more about creating and configuring them.\n- [Portainer](https://github.com/portainer/portainer) - Portainer tries to solve the same problem but it's accessed via your browser rather than your terminal. It also supports docker swarm.\n- See [Awesome Docker list](https://github.com/veggiemonk/awesome-docker/blob/master/README.md#terminal) for similar tools to work with Docker.\n","funding_links":["https://github.com/sponsors/jesseduffield","https://donorbox.org/lazygit"],"categories":["Go","Container Operations","Requirements","HarmonyOS","Misc","语言资源库","Development","Docker","Tools for Self-Hosting","开源工具","Applications","others","Containers","Cloud / Docker / Kubernetes","Docker tools","Command Line Tools","GUI Tools","Go (531)","工具","其他__大数据","Tools","应用","Docker-Tools","Management Tools","容器管理与运维 (Container Operations)","Linux","\u003ca name=\"vm\"\u003e\u003c/a\u003eContainerization and virtualization","Table of Contents","Container \u0026 Virtualization","Developer Tools","\u003ca name=\"Go\"\u003e\u003c/a\u003eGo"],"sub_categories":["User Interface","Rofi, Terminator, Docker, Lazydocker","Windows Manager","go","Docker","Snippets Manager","Development","命令行工具","Devops","其他工具","网络服务_其他","Others","开发","可视化管理界面 (UI / Management)","Terminal UI","Container Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesseduffield%2Flazydocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjesseduffield%2Flazydocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjesseduffield%2Flazydocker/lists"}