Thus, in order to be sure it'll run elsewhere, I need to either delete any trace of local configuration and packages, and clean my environment prior to actually running the thing. Typically, I'd leverage Docker or VMWare for this. Docker does a good job at providing the console experience of a new machine and VMWare does the same but with a graphical interface suitable for testing GUIs and graphical installation procedures.
But here I am, sitting with a system capable of isolating an environment down to (almost) the last detail, except you cannot quite use this system as a suitable replacement for Docker and VMWare. But what if you could?
Docker is able to encapsulate a series of software components into a container, and distribute this as a whole, including the OS and anything else related to the container.
However because it also encapsulates the operating system, distributing software that depend on the parent operating system is problematic, especially graphics-related software that need access to the NVIDIA/AMD drivers in order to leverage OpenGL/Vulkan or CUDA. Not to mention running any form of GUI from a container that isn't a web application or other kind of client/server rendered mechanism (like VcXsrv).
Implementation
Re-brand and restructure bleeding-rez into Pucker (working title) - a pure-Python Docker alternative.
What would it do different?
Distributable software-in-a-context
Isolate both the parent environment and user profile, to mimick a Docker container as close as possible
Alternative names that also reflect its use and purpose.
Goal
A pure-Python Docker equivalent.
Motivation
I found myself wanting to test a package in an isolated environment. To make sure it runs both here and elsewhere, but what are my options?
~/rezconfig
~/packages
Thus, in order to be sure it'll run elsewhere, I need to either delete any trace of local configuration and packages, and clean my environment prior to actually running the thing. Typically, I'd leverage Docker or VMWare for this. Docker does a good job at providing the console experience of a new machine and VMWare does the same but with a graphical interface suitable for testing GUIs and graphical installation procedures.
But here I am, sitting with a system capable of isolating an environment down to (almost) the last detail, except you cannot quite use this system as a suitable replacement for Docker and VMWare. But what if you could?
Docker is able to encapsulate a series of software components into a container, and distribute this as a whole, including the OS and anything else related to the container.
However because it also encapsulates the operating system, distributing software that depend on the parent operating system is problematic, especially graphics-related software that need access to the NVIDIA/AMD drivers in order to leverage OpenGL/Vulkan or CUDA. Not to mention running any form of GUI from a container that isn't a web application or other kind of client/server rendered mechanism (like VcXsrv).
Implementation
Re-brand and restructure bleeding-rez into Pucker (working title) - a pure-Python Docker alternative.
What would it do different?
Alternative names that also reflect its use and purpose.