Sistema de construção de contêiner do Fedora

Para obter uma melhor compreensão do funcionamento geral de tudo isso, os responsáveis pela manutenção de contêineres podem achar interessante o Documento sobre a arquitetura do serviço de construção de imagens em camadas. No entanto, uma cobertura extensa do sistema de construção está fora do escopo deste documento de diretrizes.

Imagem base do Fedora

The Fedora Base Image provides information that can be used by the Layered Images via inherited Environment Variables:

  • $DISTTAG is defined just as it is for RPMs, but since Containerfiles (or Dockerfiles) lack a mechanism similar to RPM Macros this is being stored in the base image such that it can be inherited by layered images.

Registries e atualizações de contêineres do Fedora

No Fedora, existem dois registros: o de versões candidatas e o de versões estáveis.

All Layered Image Builds end up in the candidate registry as soon as they are successful in the Fedora Layered Image Build System. These images can immediately be pulled. For example:

# With Docker docker pull candidate-registry.fedoraproject.org/$FGC/$NAME:latest` ```

Gated releases will happen on a Two Week Cadence, alternating with the Fedora Two Week Atomic Host.


=== Registry Layout

Fedora Base Images will be available at the "root" namespace of the registry, an example is below:

``` https://candidate-registry.fedoraproject.org/fedora:24 https://candidate-registry.fedoraproject.org/fedora:25 https://candidate-registry.fedoraproject.org/fedora:latest

https://registry.fedoraproject.org/fedora:24 https://registry.fedoraproject.org/fedora:25 https://registry.fedoraproject.org/fedora:latest ```

Fedora Layered Images will be available in their respective `$FGC` namespace which correlates to their DistGit branch and Koji tag. An example is as follows for the `f25` Fedora Generational Core and the cockpit container image.

There are multiple tags applied to each image:

* `Name:Version-Release` (including `$DISTTAG`)
* `Name:Version`
* `Name:latest`
** The `:latest` tag can be omitted when issuing a `podmand pull` or `docker pull` command.

The latter two tags are updated in-place and a new execution of `podman pull` or `docker pull` will get the latest image.

``` https://candidate-registry.fedoraproject.org/cockpit:latest

https://registry.fedoraproject.org/cockpit:latest ```