Where did those come from? (And yes, this also means this article is probably helpful if you use Ubuntu instead of Debian.) You probably noticed from my output that there are two (debian|ubuntu)-toolbox-latest containers that are using two (debian|ubuntu)-toolbox images. There are also underlying technologies to podman such as conmon and you can learn more about it replaying this FOSDEM session: Podman - The Powerful Container Multi-Tool.
I encourage you take a look at podman which also runs on Mac (and even WSL2) by virtue of its remote-client support. STEP 2: ENV NAME=debian-toolbox VERSION=unstable STEP 1: FROM docker.io/library/debian:unstable So when you enter the toolbox environment, you feel like you're in your regular environment, but things you change beyond your profile are kept to the container.
So you wouldn't need to worry about things like mounting a 9p filesystem or sync'ing files and adjusting ownership, etc. The difference with toolbox is that it overlays this environment on top of your profile, carries your shell settings and helps users resolve just like in the host.
Or something custom you have with a mix of pyenv or nix-shell. bin/bash or a playground VM whether that's with libvirt or lxd, in a public cloud, VPS provider or somewhere else. In our case, since we're running Debian in an environment I regularly mutate, we care less about that aspect but we still want a working environment that's easy to step in and out of.Įither way, you might be wondering how that is any different from having a pet docker run -it.
In Fedora Silverblue, toolbox is used to provide a mutable working environment on top of a (mostly) immutable operating system such as Silverblue or CoreOS (you can watch rishi's presentation for full impact) One last thing, part of the rootless magic relies on user namespaces so make sure you echo 1 | sudo tee /proc/sys/kernel/unprivileged_userns_clone and understand the security implications of that. Make sure you install flatpak, as that's needed (there could be other dependencies, but in my reasonably vanilla desktop system, I was only missing a sudo apt install flatpak -y)
That was certainly the case for me: I knew that we needed to decouple to achieve rootless containers, registry-side building and interchangeable runtimes. Remember when docker bundled daemon and tools? Although it was eventually decoupled, many of us learned a formulaic usage of the docker command and it's not unusual to find the legacy packages in many of our systems today. But since I brought my Debian laptop to FOSDEM20, I wanted to play with Podman and Toolbox natively. I also run Fedora in a NUC to try and keep up with systemd, cgroup2, podman and other technologies. Over the last couple years I've been spending a lot of time playing with containerized development environments such as WSL2 and Crostini.