from Hacker News

Lazydocker: a lazier way to manage everything Docker

by mottiden on 7/18/23, 8:52 PM with 73 comments

  • by jauntywundrkind on 7/18/23, 9:57 PM

    Also has lazynpm & lazygit, which are similar-at-first-blush TUI (terminal UI) systems. https://github.com/jesseduffield/lazynpm https://github.com/jesseduffield/lazygit

    That ability to navigate & go anywhere (lots of linkability) feels like something the web should be great at. But most interfaces (web or anywhere) tend towards heavy modal behaviors: they only do one thing at a time, have specific navigation affordances to get you to the next view. Having a couple different panes always-onscreen with some dedicated different bits of context in them feels sharp/smart!

  • by dang on 7/18/23, 11:15 PM

    Related:

    Lazydocker: The lazier way to manage everything Docker - https://news.ycombinator.com/item?id=29400741 - Dec 2021 (17 comments)

    Lazydocker: a terminal GUI for Docker - https://news.ycombinator.com/item?id=20315973 - June 2019 (47 comments)

  • by ed_mercer on 7/18/23, 11:52 PM

    There’s a similar tool for Kubernetes called k9s, allowing you to easily see and manage everything in your cluster.
  • by suralind on 7/18/23, 10:19 PM

    I use lazygit made by the same person and it's great.
  • by aidomi on 7/19/23, 1:59 AM

    It's cool watching someone I knew at uni build something that's useful for so many people, especially seeing him pop up on Hacker News from time to time!
  • by amake on 7/19/23, 1:39 AM

    Heavy Emacs users may appreciate docker.el, which does a lot of the same things inside Emacs

    https://github.com/Silex/docker.el

  • by javier_e06 on 7/19/23, 2:03 PM

    Nifty. Yep is lazy all right. It works out of the box and let me navigate faster than my crappy bash menu that I use to manage my docker containers.

    It reminds me of the joke of the cowboy carrying a squirrel.

    Why do you carry that squirrel? people ask him.

    He pulls the squirrel out the squirrel and the squirrel would go "tsk tsk tsk"

    And the horse started walking :)

  • by xwowsersx on 7/19/23, 1:19 AM

    lzd with the logs tailed is what I reach for when I want to seem like an insanely busy genius hacker from one of those movies. Stare at your monitor pensively while you have like 5 services running and people will walk away if they've dared to approach you.
  • by KronisLV on 7/19/23, 8:21 AM

    This does remind me of ctop as well: https://github.com/bcicen/ctop

    It also let's you look at containers, resource usage graphs, their logs and even do some actions through a TUI.

  • by aziis98 on 7/19/23, 9:47 AM

    I really like this! This kind of interfaces lets you easily take a glimpse of the system and explore the current state of the system even doing some simple actions.

    I've been searching for a while for something like this but more oriented at generic server management (maybe more at the systemd level for example).

    I would like a setup where I ssh into a remote server and get directly this kind of interface with monitoring and all of my services current status. And only if needed by pressing some shortcut get into a shell for doing something more specific

  • by bilekas on 7/19/23, 6:21 AM

    Lazy docker have checked out become and on windows at least is far quicker and convenient than the docker desktop client!

    I've also been using lazgit for a while now mostly for the diffs and merges more so I find interactive commits and some activities with some finer grain control can be a bit flakey though. Really nice work though and happy with it so far!

  • by bitlad on 7/19/23, 10:13 AM

    This is like k9s [1] but for docker.

    [1] https://k9scli.io/

  • by DiggyJohnson on 7/19/23, 12:25 AM

    I unironically use this application in my day job, especially for exec-ing into containers (the ‘E’ shortcut is great).
  • by purgedreality on 7/19/23, 1:44 AM

    I feel like I saw this randomly on a forum years ago and it's just been part of my top 10 toolkit.
  • by krisknez on 7/19/23, 5:07 PM

    Is there a tool like this but to manage docker compose project?

    I have a folder with many project folders containing docker compose files and I would love to easily run start, stop e.g without constantly running cd

  • by MichaelMoser123 on 7/19/23, 1:12 PM

    two of my projects might be of interest:

    - https://github.com/MoserMichael/dockerdashphp - admin tool for docker with a browser based UI. This tool runs a local web serer in docker container.

    - https://github.com/MoserMichael/s9k - admin tool for kubernetes with a brower based UI. This tool runs a local web server in a docker container.

  • by syntaxing on 7/19/23, 12:02 AM

    Whoa super interesting, this might replace most of portainer for me.
  • by pratio on 7/19/23, 9:59 AM

    I've been using LazyDocker everyday for a couple of years now. Absolutely love it. I got used to it instead of going for the docker commands directly.
  • by zimbatm on 7/19/23, 12:09 PM

    I would love to see something similar for systemd!
  • by EamonnMR on 7/18/23, 10:11 PM

    Lazydocker is really nice, used this a lot.
  • by swader999 on 7/18/23, 11:03 PM

    Does this mean you don't have to have docker desktop installed?
  • by philipvollet on 7/19/23, 9:18 AM

    Using it for years and loving it!
  • by halostatue on 7/19/23, 2:09 AM

    I like lazydocker, but I really wish it understood Docker contexts without having to set `$DOCKER_HOST`.

    I switch between Colima[0] and OrbStack[1] and have multiple Colima virtualization profiles[2] (one with `vz`, one without), resulting in multiple Docker contexts. I have a function that I’ve written to set docker host, but I have to remember to clear it after I’m done using lazydocker and a couple of other tools (dive, I think).

        function set-docker-host
            command -sq docker
            and command -sq jq
            or return 1
    
            set -l host (
              docker context ls --format '{{ . | json }}' |
                jq -sr '.[] | select(.Current == true) | .DockerEndpoint'
            )
            or return 1
    
            set -gx DOCKER_HOST $host
        end
    
    The bash/zsh equivalent wouldn't be too hard, but I use fish.

    [0] https://github.com/abiosoft/colima, https://hn.algolia.com/?q=https%3A%2F%2Fgithub.com%2Fabiosof...

    [1] https://orbstack.dev [3], https://hn.algolia.com/?q=https%3A%2F%2Forbstack.dev

    [2] https://github.com/abiosoft/colima#customizing-the-vm and https://github.com/abiosoft/colima/blob/main/docs/FAQ.md#edi...

    [3] I’m on OrbStack now, but it isn’t so much better at how I use Docker than Colima is that I think that it’s an instant buy, especially with the planned subscription model. If I used anything other than the Docker integration, I might think it's better, but as of right now, no.

    I also have some issues with its insistence on asking for elevated permissions. I will never grant permission[4] to make a symlink to the "standard" Docker socket; context and `$DOCKER_HOST` work well enough. It should not ask if the permission hasn't been given once. I also worry about other "advanced" features that may need an elevated permissions helper[5].

    [4] https://github.com/orbstack/orbstack/issues/281#issuecomment...

    [5] https://github.com/orbstack/orbstack/issues/281#issuecomment... and following

  • by quickthrower2 on 7/18/23, 11:21 PM

    I am an OpenLens fan. Is there an OpenLens-like version of this? Basically full GUI not terminal.

    I like the terminal for command-line, but not so much for UI stuff.

  • by ziftface on 7/18/23, 11:52 PM

    I never really understood the use case for things like this. You can get the logs with docker-compose logs and you can see what's running with docker ps. So I'm not really sure why you'd need this.