Container - GTK tools
For me, running containers is somewhat bound to the command line. Yet, having a graphical environment allows discovering of dependencies and errors in a more intuitive way. Fortunately, we can check our Kubernetes, Distrobox and Podman containers with these nifty GTK applications, too.
For me, running containers is somewhat bound to the command line. Yet, having a graphical environment allows discovering of dependencies and errors in a more intuitive way. Fortunately, we can check our Kubernetes, Distrobox and Podman containers with these nifty GTK applications, too.
No matter, if you run Fedora, Ubuntu or Arch Linux, the following applications are either in your distribution or available as Flatpak. Let's manage containers, the graphical way.
GTK
The GTK project is the standard framework for applications, when it comes to the GNOME desktop environment. A ridge set of prepared widgets, interfaces, language bindings and much more makes it easy and convenient to develop new applications.
Yet, GTK is not limited to GNOME. You can find it in the Cinnamon Desktop, XFCE, Mate or Budgie. For the sake of this article, let's say it makes app to look like a good citizen in many desktop environments on Linux.
Containers
I think, the benefits of containers and how they work in general is covered in my blog in a good amount of articles. To spare you some time and reading: Containers are one of the best formats for deploying software on Linux.
Well, when it comes to containers and container technology, there is more than just Docker. It's about Podman, OCI, Kubernetes, but also Flatpaks, Snaps or LXC. Container technology is everywhere and some of them were already covered in this blog, too.
GTK container tools
As I stated, very often we see containers used on the command line or programmatically. On the other hand, we might have our workstation. Degrading it to a terminal and a browser seems somewhat odd. Also, it makes discovering the world of containers more expert than it should be.
Fortunately, we do have options. And some of them are available for GNOME and all the other GTK'ish desktop environments. Yes, you can use the following applications on KDE or another window manager, too.
Pods
Pods is a pretty simple, yet feature rich application. Creating new Podman containers, downloading images and monitoring or even interacting with containers is possible.
It's easy on the eyes, allows remote connections and comes with a built-in monitoring, too.
BoxBuddy
Distrobox is build on top of Podman (or Docker) and allows the fast deployment of developer containers. In case you need some Debian packages integrated in your Fedora workstation - look no further. The CLI is pretty awesome, too. Nevertheless, you might like a graphical representation of your boxes.
BoxBuddy makes the whole process of creation, linking applications or even cloning your dev containers a breeze.
Ptyxis
Ptyxis is the new terminal kid in the block. It is not the fastest, nor the most feature rich terminal. Yet, it has some cool theming and container integration. You can configure profiles for your real host, containers from Distrobox or toolbox.
Each of the profiles can come with different defaults, theming or other adjustments. Calling these is also simple - you just need to click the little arrow next to the plus. It even discovers your created containers and offers to open a session in these.
Seabird
No matter if you use Minikube for development, k3s for your home setup or a managed Kubernetes for production, Seabird allows connecting to these and managing your workload.
Create new deployments, edit existing ones, or get help about the Kubernetes API and guidance for whatever-YAML is needed. You can even open an interactive terminal, if the container is configured to support this.
Atoms
In case you installed Arch Linux or you have gathered some years of experience with Linux, you might know chroot
. Chroot (Change Root) is a pretty old technology to create a Linux root file system within another directory. Chroot allows working in this directory, as if it is the only existing thing.
This is useful for security reasons (you can limit processes within a chroot environment), but also to test things out. In the past, I was using chroot a lot, and I am happy to see some GTK support.
Conclusion
Is it a good idea to manage containers with graphical applications? Maybe. I enjoy it sometimes. Is it a good approach to have this kind of tools? For sure. It makes containers more discoverable, even for inexperienced users, and allows faster discovery of flaws and config issues.
But, let me know. Do you use graphical tools, maybe even GTK tools, for your container work? What else do you recommend to the audience? Have I missed one?