5 Awesome Docker Tools To Make Your Life Easier
Hey there! 👋 Working with Docker can sometimes be a pain, but these are some tools that make it so much easier. I've tried dozens of Docker tools over the years, and these five have become my absolute favorites (slightly biased!). Whether you're debugging containers, managing images or deploying, there's something here that'll save you time :)
Let's get it!
1. Lazy Docker
Lazy Docker is a terminal UI for Docker and Docker Compose that makes managing containers a breeze. Instead of having to remember and type out long Docker commands, you get an interactive interface where everything is just a keypress away.
Some of the key features include:
- View container status, logs, and metrics at a glance
- Restart/remove/rebuild containers with a single keypress
- Monitor resource usage with ASCII graphs
- Attach to container shells easily
- Prune unused containers, images and volumes
- Full mouse support for clicking and scrolling
Getting started is super simple. On Mac you can install it with:
brew install lazydocker
And then you can just run lazydocker
container to start it.
docker run --rm -it -v \
/var/run/docker.sock:/var/run/docker.sock \
-v /yourpath:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker
Don't forget to replace /yourpath
with the path to your home directory.
Bonus: Your friends will think you're a wizard when you exclusively use the terminal and not docker desktop 😎
2. Sliplane
Sliplane is a hosting platform that makes deploying Docker containers super simple. While it's not exactly a "tool" in the traditional sense, it's become the go-to solution for many companies deploying Docker containers (full disclosure: I'm a co-founder!).
The main features that make it awesome for Docker deployments:
- Push-to-deploy from GitHub or Docker Hub
- Zero-downtime deployments
- Automatic health checks and notifications
- Built-in logging and monitoring
- Pay-per-server model (host unlimited containers on one server)
What I particularly like is that you don't need any DevOps knowledge - if your app works in a container locally, it'll work in production. Just connect your GitHub repo or point to a Docker Hub image, and you're good to go.
The pricing is also pretty straightforward - you pay for the server (starting at 7€/month) and can host as many containers as you want on it. Perfect for when you have multiple small projects or need development environments.
Here's what the deployment process looks like:
You can try it out for free for 2 days to see if it fits your needs! {% cta https://sliplane.io?utm_source=5-awesome-docker-tools %} Deploy Docker Apps in 2 Minutes 🚀 {% endcta %}
3. Dive
Dive is an incredible tool for exploring and analyzing Docker images layer by layer. It shows you exactly what files changed in each layer and helps identify ways to shrink your images by highlighting duplicated files and wasted space. The interactive UI lets you browse the complete filesystem tree while indicating what was added, modified or removed in each layer. Getting started is super simple - just run:
dive <your-image-tag>
And you'll get a nice interactive UI to explore your image, as shown in the gif above.
You can also create an alias and run it in a Docker container itself, so you can use it without having to install it on your machine.
alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"
dive <your-image-tag>
Pretty cool, eh? Helps you understand your images and save disk space, who doesn't like that?
4. Orbstack
Orbstack is a Docker desktop alternative that I've been using for a while now. In my opinion the main selling point is that it's a native app for macOS and doesn't rely on Docker Machine to create VMs, meaning that its a lot faster and less resource intensive. It is still very new, so there are some rough edges, but I think it's worth a shot. I think its only supported on macOS at the moment, so that might be a problem for some of you 😔
5. Watchtower
I've written about Watchtower a few times already, and it's still one of my favorite tools. It's a simple tool that will watch your Docker images and automatically update them to the latest version. It's super easy to set up and just works. This is very useful for your homelab or so, not so much for production.
You can try it out with the following command:
docker run -d \
--name watchtower \
-e REPO_USER=username \
-e REPO_PASS=password \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower container_to_watch --debug
Try it out, you won't regret it!
Conclusion
I hope you found this list helpful! If you have any other suggestions, please let me know in the comments below.
Cheers,
Jonas (Co-Founder of Sliplane)