Exportadores OCI y Docker
El exportador oci genera el resultado de la compilación en un archivo tar con el formato distribución de imagen OCI (OCI image layout). El exportador docker funciona de la misma manera, excepto que exporta una distribución de imagen de Docker en su lugar.
El
controlador docker no admite estos exportadores. Debes utilizar docker-container u otro controlador si deseas generar estas salidas.
Sinopsis
Compila una imagen de contenedor utilizando los exportadores oci y docker:
$ docker buildx build --output type=oci[,parameters] .
$ docker buildx build --output type=docker[,parameters] .
La siguiente tabla describe los parámetros disponibles:
| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
name | String | Especifica los nombres de las imágenes | |
dest | String | Ruta | |
tar | true,false | true | Empaqueta la salida en un archivo tar |
compression | uncompressed,gzip,estargz,zstd | gzip | Tipo de compresión, consulta compresión |
compression-level | 0..22 | Nivel de compresión, consulta compresión | |
force-compression | true,false | false | Fuerza la aplicación de la compresión, consulta compresión |
oci-mediatypes | true,false | Utiliza tipos de medio OCI en los manifiestos del exportador. El valor predeterminado es true para type=oci y false para type=docker. Consulta Tipos de medio OCI | |
annotation.<key> | String | Adjunta una anotación con la respectiva clave y valor a la imagen compilada, consulta anotaciones | |
rewrite-timestamp | true,false | false | Reestablece las marcas de tiempo de los archivos al valor de SOURCE_DATE_EPOCH. Consulta reproducibilidad de compilación para saber cómo especificar el valor de SOURCE_DATE_EPOCH. |
Anotaciones
Estos exportadores admiten añadir anotaciones OCI utilizando el parámetro annotation, seguido del nombre de la anotación usando la notación de punto. El siguiente ejemplo establece la anotación org.opencontainers.image.title:
$ docker buildx build \
--output "type=<type>,name=<registry>/<image>,annotation.org.opencontainers.image.title=<title>" .
Para obtener más información sobre las anotaciones, consulta la documentación de BuildKit.
Lectura adicional
Para obtener más información sobre los exportadores oci o docker, consulta el README de BuildKit.