Here you will find Documentation and Guidelines regarding creation, usage and maintainance of Containers in Fedora.
Fedora is targeting to perform with any OCI-compliant container runtime implementation.
Layered Image in Fedora are container images that are using either the fedora or fedora-minimal base image. Dockerfiles for these images are maintained in Fedora’s dist-git using the container namespace.
You can maintain different version of an image using git branches, in dist-git each Fedora release has a branch, for example Fedora 32 has a git branch f32, Fedora 31 a f31 branch and so on …. The master branch is used for Fedora rawhide the development version of Fedora.
In order to build a layered image using Fedora’s container build system, you first need to clone the image git repository
$ git clone https://src.fedoraproject.org/container/tools.git $ cd tools && ls Dockerfile README.md root
A command line tool called
fedpkg is needed in order to trigger to build on Fedora you can install it as follow
$ sudo dnf install fedpkg
Once install you need to use your Fedora Account System username and password to authenticate with the buildsystem, this is done using kerberos
$ kinit username@FEDORAPROJECT.ORG Password for username@FEDORAPROJECT.ORG:
You can now trigger the build
$ fedpkg container-build Created task: 52510681 Task info: https://koji.fedoraproject.org/koji/taskinfo?taskID=52510681 Watching tasks (this may be safely interrupted)... 52510681 buildContainer (noarch): free
You get a link to the builsystem task, this is useful in case you build fails and you need to inspect the logs.
To create an update for a container image you need to be the maintainer or co-maintainer of that image. For that you first need to be part of Fedora’s packager group.
Once you have a build created you need to create an update in Fedora’s update system.
After login in the web application, you create an a new update. In the new update from use the NVR (Name Version Release) of the container build to populate the "Builds" section. Then add some description and metadata as needed and submit the update.