- create a working container, either from scratch or using an image as a starting point
- create an image, either from a working container or via the instructions in a Dockerfile
- images can be built in either the OCI image format or the traditional upstream docker image format
- mount a working container's root filesystem for manipulation
- unmount a working container's root filesystem
- use the updated contents of a container's root filesystem as a filesystem layer to create a new image
- delete a working container or an image
- rename a local container
Install the and packages or, for the development version, the AUR package.
If you want to run as non-root user, also install for better performance and storage space efficiency.
Enable support to build unprivileged containers
Users wishing to use Buildah to build unprivileged containers need to complete additional setup steps before running podman for the first time.
/etc/subgid: useradd will do that for you, you only need to run
touch /etc/subuidas root.
Finally, create both
/etc/subgid to contain the mapping to the containerized UID/GID pairs for each user who shall be able to run the containers. The example below is for the root user (and systemd system unit) and an example user
If you did run podman before applying the changes above, you will get errors when trying to pull images as an unprivileged user. Run
podman system migrate to fix it.
If everything went well then after logging out and logging back in
buildah images should not result in error
/run/user/0then you have probably used su to become the user you are using for test — you should log in as such user since su without the
--loginflag will not set
XDG_RUNTIME_DIRand other environmental variables to correct values.
Buildah/Podman running as rootless expects the bind mount to be shared, check if it is set to private:
$ findmnt -o PROPAGATION /
In this case seeand set temporarily the mount as shared with:
# mount --make-shared /
To set it permanently, edit /etc/fstab and add the shared option to the desired mount and reboot. It will result in a entry like:
# <device> <dir> <type> <options> <dump> <fsck> UUID=0a3407de-014b-458b-b5c1-848e92a327a3 / ext4 defaults,shared 0 1