The toolbox
program is a wrapper for setting up containers on Fedora. It’s not doing anything you can’t do yourself with podman
, but it does make using and managing containers more simple and easy to do. It comes by default on Silverblue where it’s aimed for use with terminal apps and dev work, but you can try it on a regular Fedora workstation.
sudo dnf install toolbox
Creating containers
You can create just one container if you want, which will be called something like fedora-toolbox-32
, or you can create separate containers for different things. Up to you. As an example, let’s create a container called testing-f32
.
toolbox create --container testing-f32
By default toolbox
uses the Fedora registry and creates a container which is the same version as your host. However you can specify a different version if you need to, for example if you needed a Fedora 30 container.
toolbox create --release f30 --container testing-f30
These containers are not yet running, they’ve just been created for you.
View your containers
You can see your containers with the list
option.
toolbox list
This will show you both the images in your cache and the containers in a nice format.
IMAGE ID IMAGE NAME CREATED
c49513deb616 registry.fedoraproject.org/f30/fedora-toolbox:30 5 weeks ago
f7cf4b593fc1 registry.fedoraproject.org/f32/fedora-toolbox:32 4 weeks ago
CONTAINER ID CONTAINER NAME CREATED STATUS IMAGE NAME
b468de87277b testing-f30 5 minutes ago Created registry.fedoraproject.org/f30/fedora-toolbox:30
1597ab1a00a5 testing-f32 5 minutes ago Created registry.fedoraproject.org/f32/fedora-toolbox:32
As toolbox
is a wrapper, you can also see this information with podman
, but with two commands; one for images and one for containers. Notice that with podman
you can also see that these containers are not actually running (that’s the next step).
podman images ; podman ps -a
registry.fedoraproject.org/f32/fedora-toolbox 32 f7cf4b593fc1 4 weeks ago 360 MB
registry.fedoraproject.org/f30/fedora-toolbox 30 c49513deb616 5 weeks ago 404 MB
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b468de87277b registry.fedoraproject.org/f30/fedora-toolbox:30 toolbox --verbose... About a minute ago Created testing-f30
1597ab1a00a5 registry.fedoraproject.org/f32/fedora-toolbox:32 toolbox --verbose... About a minute ago Created testing-f32
You can also use podman
to inspect the containers and appreciate all the extra things toolbox
is doing for you.
podman inspect testing-f32
Entering a container
Once you have a container created, to use it you just enter
it with toolbox.
toolbox enter --container testing-f32
Now you are inside your container which is separate from your host, but it generally looks the same. A number of bind mounts were created automatically for you and you’re still in your home directory. It is important to note that all containers you run with toolbox will share your home directory! Thus it won’t isolate different versions of the same software, for example, you would still need to create separate virtual environments for Python.
Any new shells or tabs you create in your terminal app will also be inside that container. Note the PS1 variable has changed to have a pink shape at the front (from /etc/profile.d/toolbox.sh
).

Note that you could also start and enter the container with podman
.
podman start testing-f30
podman exec -it -u ${EUID} -w ${HOME} testing-f30 /usr/bin/bash
Hopefully you can see how toolbox
make using containers easier!
Exiting a container
To get out of the container, just exit
the shell and you’ll be back to your previous session on the host. The container will still exist and can be entered again, it is not deleted unless you delete it.
Removing a container
To remove a container, simply run toolbox
with the rm
option. Note that this still keeps the images around, it just deletes the instance of that image that’s running as that container.
toolbox rm -f testing-f32
Again, you can also delete this using podman
.
Using containers
Once inside a container you can basically (mostly) treat your container system as a regular Fedora host. You can install any apps you want, such as terminal apps like screenfetch
and even graphical programs like gedit
(which work from inside the container).
sudo dnf install screenfetch gedit

screenfetch
is always a favouriteFor any programs that require RPMFusion, like ffmpeg
, you first need to set up the repos as you would on a regular Fedora system.
sudo dnf install \
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install ffmpeg
These programs like screenfetch
and ffmpeg
are available inside your container, but not outside your container. They are isolated. To run them in the future you would enter the container and run the program.
Instead of entering and then running the program, you can also just use the run
command. Here you can see screenfetch is not on my host, but I can run it in the container.

Those are pretty simple (silly?) examples, but hopefully it demonstrates the value of toolbox
. It’s probably more useful for dev work where you can separate and manage different versions of various platforms, but it does make it really easy to quickly spin something outside of you host system.