This project does not need a dedicated image. It can use any OCI images from docker-hub, quay.io, or any registry of your choice.
Granted, they may not be as featureful as expected (some of them do not even have which
, mount
, less
or vi
)
but that's all doable in the container itself after bootstrapping it.
The main concern is having basic Linux utilities (mount
), basic user management utilities (usermod, passwd
), and sudo
correctly set.
distrobox
can run on either podman
or docker
It depends either on podman
configured in rootless mode
or on docker
configured without sudo (you're in the docker
group)
- Minimum podman version: 2.1.0
- Minimum docker version: 18.06.1
Follow the official installation guide here:
Distrobox has been successfully tested on:
Distro | Version | Notes |
---|---|---|
Alpine Linux | 3.14.3 | To setup rootless podman, look HERE |
Arch Linux | To setup rootless podman, look HERE | |
Manjaro | To setup rootless podman, look HERE | |
CentOS | 8 8 Stream |
Works with corresponding RedHat releases. |
Debian | 11 Testing Unstable |
|
Fedora | 34 35 |
|
Fedora Silverblue | 34 35 |
|
Gentoo | To setup rootless podman, look HERE | |
Ubuntu | 20.04 21.10 |
Older versions based on 20.04 needs external repos to install newer Podman and Docker releases. Derivatives like Pop_OS!, Mint and Elementary OS should work the same. |
EndlessOS | 4.0.0 | |
OpenSUSE | Leap 15 Tumbleweed |
|
OpenSUSE MicroOS | 20211209 | |
Void Linux | glibc | Systemd service export will not work. |
NixOS | 21.11 | NOTE NixOS support is preliminary, and there are many bugs present, any help in improving support is appreciated Currently you must have your default shell set to Bash, if it is not, make sure you edit your configuration.nix so that it is. To install distrobox: mkdir -p ~/.local/bin Add PATH=$PATH:$HOME/.local/bin to your bashrcExecute THIS command without sudo. To setup Docker, look HERE To setup Podman, look HERE and HERE |
Windows WSL2 | NOTE WSL2 support is preliminary, and there are many bugs present, any help in improving support is appreciated Currently you must work around some incompatibility between WSL2 and Podman, namely THIS. Install into WSL2 any of the supported distributions in this list. Ensure you have an entry in the fstab for the /tmp folder:echo 'tmpfs /tmp tmps defaults 0 0' >> /etc/fstab .Then reboot the WSL machine wsl --shutdown Note that distrobox export is not supported on WSL2 and will not work. |
If your container is not able to connect to your host xserver, make sure to install xhost
on the host machine
and run xhost +si:localuser:$USER
. If you wish to enable this functionality on future reboots add it to your ~/.xinitrc
or somewhere else tailored to your use case where it would be ran on every startup.
If your distro of choice is not on the list, open an issue requesting support for it, we can work together to check if it is possible to add support for it.
Or just try using it anyway, if it works, open an issue and it will be added to the list!
Distrobox guests tested successfully with the following container images:
Distro | Version | Images |
---|---|---|
AlmaLinux | 8 | docker.io/library/almalinux:8 |
Alpine Linux | 3.14 3.15 |
docker.io/library/alpine:latest |
AmazonLinux | 2 | docker.io/library/amazonlinux:2.0.20211005.0 |
Archlinux | docker.io/library/archlinux:latest | |
CentOS | 7 8 |
quay.io/centos/centos:7 quay.io/centos/centos:8 |
CentOS Stream | 8 9 |
quay.io/centos/centos:stream8 quay.io/centos/centos:stream9 |
Debian | 8 9 10 11 |
docker.io/library/debian:8 docker.io/library/debian:9 docker.io/library/debian:10 docker.io/library/debian:stable docker.io/library/debian:stable-backports |
Debian | Testing | docker.io/library/debian:testing docker.io/library/debian:testing-backports |
Debian | Unstable | docker.io/library/debian:unstable |
Neurodebian | nd100 | docker.io/library/neurodebian:nd100 |
Fedora | 34 35 |
registry.fedoraproject.org/fedora-toolbox:34 docker.io/library/fedora:34 registry.fedoraproject.org/fedora-toolbox:35 docker.io/library/fedora:35 |
Mageia | 8 | docker.io/library/mageia |
Opensuse | Leap | registry.opensuse.org/opensuse/leap:latest |
Opensuse | Tumbleweed | registry.opensuse.org/opensuse/tumbleweed:latest registry.opensuse.org/opensuse/toolbox:latest |
Oracle Linux | 7 8 |
container-registry.oracle.com/os/oraclelinux:7 container-registry.oracle.com/os/oraclelinux:8 |
Rocky Linux | 8 | docker.io/rockylinux/rockylinux:8 |
Scientific Linux | 7 | docker.io/library/sl:7 |
Slackware | 14.2 | docker.io/vbatts/slackware:14.2 |
Slackware | current | docker.io/vbatts/slackware:current |
Ubuntu | 14.04 16.04 18.04 20.04 21.10 22.04 |
docker.io/library/ubuntu:14.04 docker.io/library/ubuntu:16.04 docker.io/library/ubuntu:18.04 docker.io/library/ubuntu:20.04 docker.io/library/ubuntu:21.10 docker.io/library/ubuntu:22.04 |
Kali Linux | rolling | docker.io/kalilinux/kali-rolling:latest |
Void Linux | ghcr.io/void-linux/void-linux:latest-thin-bb-x86_64 ghcr.io/void-linux/void-linux:latest-thin-bb-x86_64-musl ghcr.io/void-linux/void-linux:latest-full-x86_64 ghcr.io/void-linux/void-linux:latest-full-x86_64-musl |
Note however that if you use a non-toolbox preconfigured image (e.g. images pre-baked to work with https://github.com/containers/toolbox), the first distrobox-enter
you'll perform
can take a while as it will download and install the missing dependencies.
A small time tax to pay for the ability to use any type of image. This will not occur after the first time, subsequent enters will be much faster.
If your distro of choice is not on the list, open an issue requesting support for it, we can work together to check if it is possible to add support for it.
Or just try using it anyway, if it works, open an issue and it will be added to the list!