Buildah "short-name ... did not resolve" (registries.conf) in CI
Buildah (via containers/image) refuses to guess where a short image name like python:3.12 lives when short-name mode is enforcing and no unqualified-search registries are configured. It needs a fully qualified name or a registries.conf that lists search registries.
What this error means
Buildah fails with "error creating build container: short-name \"python:3.12\" did not resolve to an alias and no unqualified-search registries are defined in \"/etc/containers/registries.conf\"".
Error: creating build container: short-name "python:3.12" did not resolve to an alias
and no unqualified-search registries are defined in "/etc/containers/registries.conf"Common causes
The Dockerfile uses an unqualified image name
A FROM with a bare name relies on search registries. If none are configured, there is nothing to resolve the short name against.
registries.conf has no unqualified-search-registries
The image config in the runner does not list any default registries to search for unqualified names.
How to fix it
Fully qualify the base image
Use the full registry path in FROM so no short-name resolution is needed.
# fully qualified base image
FROM docker.io/library/python:3.12Configure unqualified-search registries
Add a search registry list to registries.conf so short names resolve.
# /etc/containers/registries.conf
unqualified-search-registries = ["docker.io"]How to prevent it
- Fully qualify base image names in Dockerfiles used with Buildah.
- Ship a registries.conf with unqualified-search-registries in the build image.
- Avoid relying on implicit docker.io resolution across tools.