Lazydocker: a lazier way to manage everything Docker
github.com
github.com
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!
For example:
1. Open Google in a new private/incognito window.
2. Ctrl-F "accept all" or a substring of that.
3. Press escape.
4. Press tab/shift-tab to find out where you are (Chrome and Firefox would be focused at different but similar places right now) and navigate to the "accept all" button.
5. Enter to accept.
You can do the same for links (the Google website is just an example). If you type "json wikipedia" in Google search and press enter to go to the results page, you can:
1. Ctrl-F "json - w"
2. Press escape and then enter to go to the highlighted link (in this case, the Wikipedia article on JSON).
I still have to reach for the mouse sometimes, but I find it helpful for reducing reliance on it/context switching and you/others might too.
I agree this style of navigation is great. I don't know if it's in Chrome, though.
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)
for another it is much faster to do things, a couple abbreviated vi-like commands vs. long commandline args
If you don't like the usual graphical git clients, but would like some help with some of the tasks that are tedious with just the cli, definitely give it a try.
I never really understood the use case for things like this. You can [do what's needed from regular git commands]. So I'm not really sure why you'd need this.
With graphical clients, there's some friction, since you have to open the client to the directory you're in; or these interfaces are designed for use mainly with the mouse.
A command line program is right there, especially if you're otherwise using a terminal. -- But, for any commands which require finer things than "add everything", being precise on the command line is generally slow.
To get `git show 14feb20`, or `git add path/to/foo.ext`, it can be quite slow to get those precise values, especially if it involves re-entering a value from the output of a previous command. (It will still be slow, even if you're using tab-completion or fzf or copy-pasting).
Keyboard-driven interfaces like lazydocker or lazygit avoid those disadvantages.
Docker.el would benefit from some more orderly buffer management. At least it would 6 months ago.
Pretty helpful otherwise.
Thank you for getting this correct. I have been seeing everyone get this mixed up with "less" lately and it has been driving me insane. it's like almost everyone forgot how to use these words at the same time.
the same people who downvoted me for not contributing will comment all day while not contributing anything.
realistic. based on observation. a lot of people (a lot) get it wrong. I find it annoying. so "excuuuuuuuse me, princess", I guess.
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 :)
I sorry, what did he squirrel this squirrel away in?
It also let's you look at containers, resource usage graphs, their logs and even do some actions through a TUI.
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
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!
?
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
- 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.
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
I like the terminal for command-line, but not so much for UI stuff.
I love this developer's other tool, lazygit, which I use every day. And I can see this one is similar quality, even though it doesn't appeal to me personally. Glad it helps some people out though.
Frankly lazydocker looks cool. I think I see the merit as a nice-to-have utility.