podman

Overview

The podman driver is an alternative container runtime to the Docker driver.

Requirements

This is an experimental driver. Please use it only for experimental reasons until it has reached maturity. For a more reliable minikube experience, use a non-experimental driver, like Docker.

Usage

It’s recommended to run minikube with the podman driver and CRI-O container runtime (except when using Rootless Podman):

minikube start --driver=podman --container-runtime=cri-o

Alternatively, start minikube with the podman driver only:

minikube start --driver=podman

To make podman the default driver:

minikube config set driver podman

Rootless Podman

By default, minikube executes Podman with sudo. To use Podman without sudo (i.e., Rootless Podman), set the rootless property to true:

minikube config set rootless true

Alternatively, pass the --rootless flag when starting minikube:

minikube start --driver=podman --rootless

Host prerequisites

When running the podman driver in rootless mode, minikube runs as your non-root user. The host must configure subordinate UID and GID ranges in /etc/subuid and /etc/subgid for that user. Without them, rootless Podman fails to allocate user namespaces and minikube start fails.

Tested configuration on Ubuntu 24.04:

sudo usermod --add-subuids 100000-165535 --add-subgids 100000-165535 $USER
podman system migrate

After configuring subordinate IDs, log out and log back in (or restart your session) for the changes to take effect.

Note: This configuration was verified on Ubuntu 24.04; please validate and report results for other distributions (Fedora, Debian, etc.). See the upstream Podman rootless tutorial for details on /etc/subuid and /etc/subgid configuration.

For Rootless Podman, it is recommended to set --container-runtime to containerd:

minikube start --driver=podman --container-runtime=containerd

See the Rootless Docker section for additional requirements and restrictions.

Known Issues

  • On Linux, Podman requires passwordless running of sudo. If you run into an error about sudo, do the following:
$ sudo visudo

Then append the following to the section at the very bottom of the file where username is your user account.

username ALL=(ALL) NOPASSWD: /usr/bin/podman

Be sure this text is after #includedir /etc/sudoers.d. To confirm it worked, try:

sudo -k -n podman version
  • On all other operating systems, make sure to create and start the virtual machine that is needed for Podman.
podman machine init --cpus 2 --memory 2048 --disk-size 20
podman machine start
podman system connection default podman-machine-default-root
podman info

Also see co/podman-driver open issues.

Troubleshooting

  • Run minikube start --alsologtostderr -v=7 to debug errors and crashes