0ab6eb7401
Currently the toolbox script identifies toolbox images and containers by checking whether the com.redhat.component label matches "fedora-toolbox". However, as per the Fedora Container Guidelines [1], the com.redhat.com label should match the Red Hat Bugzilla component name where bugs against the image should be reported. This means that images derived from the base fedora-toolbox image would likely end up overwriting it. One option would've been to mandate that all toolbox images have the "fedora-toolbox-" prefix in their names. However, it's better to avoid putting limitations on how images can be named. The "fedora" name wouldn't anyway work for images based on other distributions, and not all images are going to use the Red Hat bugzilla for tracking bugs. It's better to use a tag that's uniquely associated with the toolbox project, and isn't tied to a particular distribution or bug tracker. [1] https://fedoraproject.org/wiki/Container:Guidelines |
||
---|---|---|
data | ||
doc | ||
images/fedora | ||
COPYING | ||
gen-docs-list | ||
meson.build | ||
NEWS | ||
README.md | ||
toolbox | ||
toolbox-sudo |
Toolbox — Unprivileged development environment
Toolbox is a tool that offers a familiar RPM based environment for developing and debugging software that runs fully unprivileged using Podman.
The toolbox container is a fully mutable container; when you see
yum install ansible
for example, that's something you can do inside your
toolbox container, without affecting the base operating system.
This is particularly useful on OSTree based Fedora systems like Silverblue. The intention of these systems is to discourage installation of software on the host, and instead install software as (or in) containers.
However, this tool doesn't require using an OSTree based system — it works equally well if you're running e.g. existing Fedora Workstation or Server, and that's a useful way to incrementally adopt containerization.
The toolbox environment is based on an OCI
image. On Fedora this is the fedora-toolbox
image. This image is then
customized for the current user to create a toolbox container that seamlessly
integrates with the rest of the operating system.
Usage
Create your toolbox container:
[user@hostname ~]$ toolbox create
[user@hostname ~]$
This will create a container, and an image, called
fedora-toolbox-<your-username>:<version-id>
that's specifically customised
for your host user.
Enter the toolbox:
[user@hostname ~]$ toolbox enter
🔹[user@toolbox ~]$