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
2 KiB
% toolbox(1)
NAME
toolbox - Unprivileged development environment
SYNOPSIS
toolbox [--verbose | -v] COMMAND [ARGS]
DESCRIPTION
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.
OPTIONS
The following options are understood:
--assumeyes, -y
Automatically answer yes for all questions.
--help, -h
Print a synopsis of this manual and exit.
--verbose, -v
Print debug information. This includes messages coming from the standard error stream of internal commands.
COMMANDS
Commands for working with toolbox containers and images:
toolbox-create(1)
Create a new toolbox container.
toolbox-enter(1)
Enter a toolbox container for interactive use.
toolbox-init-container(1)
Initialize a running container.
toolbox-list(1)
List existing toolbox containers and images.
toolbox-rm(1)
Remove one or more toolbox containers.
toolbox-rmi(1)
Remove one or more toolbox images.
toolbox-run(1)
Run a command in an existing toolbox container.
SEE ALSO
buildah(1)
, podman(1)