This works by configuring the toolbox container after it has been created, instead of before. The toolbox script itself is mentioned as the entry point of the container, which does 'exec sleep +Inf' once the initialization is done. A new command 'init-container' was added to perform the initialization. It is primarily meant to be used as the entry point for all toolbox containers, and must be run inside the container that's to be initialized. It is not expected to be directly invoked by humans, and cannot be used on the host. As a result, the default name for the toolbox containers is now fedora-toolbox-<version-id>, not fedora-toolbox-<user>-<version-id>. For backwards compatibility, 'toolbox enter' and 'toolbox run' will continue to work with containers using the old naming scheme. https://github.com/debarshiray/toolbox/pull/160
1.6 KiB
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 used to
create a toolbox container that seamlessly integrates with the rest of the
operating system.
Usage
Create your toolbox container:
[user@hostname ~]$ toolbox create
Created container: fedora-toolbox-30
Enter with: toolbox enter
[user@hostname ~]$
This will create a container called fedora-toolbox-<version-id>
.
Enter the toolbox:
[user@hostname ~]$ toolbox enter
⬢[user@toolbox ~]$