Status: Ongoing
I’ve been exploring various containerization technologies to enhance my development workflow and system management. Here’s a brief overview of my experiences:
Docker and Podman
Docker has become one of the most popular containerization tools, allowing developers to build, share, and run containers seamlessly across different environments. I’ve started leveraging Docker to streamline development environments by packaging applications with their dependencies into containers, ensuring consistency across multiple systems.
However, I’ve also been exploring Podman as an alternative to Docker. Podman is rootless by design, making it more secure for local development environments. It also offers command-line compatibility with Docker, meaning most Docker commands work seamlessly in Podman. The shift towards Podman aligns with my interest in a more secure and modular container ecosystem without compromising ease of use.
By using Podman, I’ve been able to avoid having a daemon running in the background (as Docker requires), which adds an extra layer of control and security. Both Docker and Podman have their strengths, and I continue to experiment with each based on the project requirements.
Distrobox
I’ve successfully set up Distrobox, which allows me to use different Linux distributions in containers. It’s been particularly useful for testing software in different environments without affecting my host system. It hasn’t always been easy, but I’ve got a general idea of how to use it. I believe it is a wrapper for Podman.
GNOME Boxes
GNOME Boxes has been a great tool for quickly spinning up virtual machines. I’ve used it for testing different operating systems and isolating certain applications, or even for running Windows (I had an issue with Xbox controllers not being recognized, but it had something to do with Windows/Dual booting, and by connecting through GNOME Boxes I could use the controller in an EndeavourOS HTPC set up at a family member’s house).
Wine and Bottles
Wine (Wine Is Not an Emulator) has been an invaluable tool in my Linux journey, allowing me to run Windows applications on my Linux system. However, managing Wine configurations and dependencies can be challenging. This is where Bottles comes in:
Bottles
Bottles is a software that simplifies the process of running Windows software on Linux. It provides a user-friendly interface for managing Wine environments (called “bottles”) and automates many of the complex configurations.
APX (Package Manager)
I’ve started experimenting with APX, the package manager of VanillaOS. While it offers powerful package management capabilities, I’m still learning to navigate its unique approach to software installation and configuration. What I find most intriguing is that it condenses the distrobox workflow into some commands, and I’m still exploring the potential of this with the use of stacks.
APX GUI
The graphical interface for APX has made it more accessible, but I’m no longer on Vanilla OS, and I’ve been unable to install it properly. Viewing the stacks and configuring them on a GUI would be ideal, but until I can get it running on my current system, I’ll have to make do with apx command line operations.
This area remains an ongoing learning process, with new challenges and opportunities for optimization constantly emerging.