Compartir comentarios
Las respuestas se generan en base a la documentación.

Exportadores de imagen y de registro

El exportador image genera el resultado de la compilación en formato de imagen de contenedor. El exportador registry es idéntico, pero sube automáticamente el resultado al establecer push=true.

Sinopsis

Compila una imagen de contenedor utilizando los exportadores image y registry:

$ docker buildx build --output type=image[,parameters] .
$ docker buildx build --output type=registry[,parameters] .

La siguiente tabla describe los parámetros disponibles que puedes pasar a --output para type=image:

ParámetroTipoPredeterminadoDescripción
nameStringEspecifica los nombres de las imágenes
pushtrue,falsefalseSube la imagen después de crearla.
push-by-digesttrue,falsefalseSube la imagen sin nombre.
registry.insecuretrue,falsefalsePermite subir a un registro inseguro.
dangling-name-prefix<valor>Nombra la imagen con prefix@<digest>, utilizado para imágenes anónimas
name-canonicaltrue,falseAñade un nombre canónico adicional name@<digest>
compressionuncompressed,gzip,estargz,zstdgzipTipo de compresión, consulta compresión
compression-level0..22Nivel de compresión, consulta compresión
force-compressiontrue,falsefalseFuerza la aplicación de la compresión, consulta compresión
rewrite-timestamptrue,falsefalseReestablece 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.
oci-mediatypestrue,falsefalseUtiliza tipos de medio OCI en los manifiestos del exportador, consulta Tipos de medio OCI
oci-artifacttrue,falsefalseLas atestaciones se formatean como artefactos OCI, consulta Atestaciones como artefactos OCI
unpacktrue,falsefalseDesempaqueta la imagen después de la creación (para su uso con containerd)
storetrue,falsetrueAlmacena las imágenes resultantes en el almacenamiento de imágenes del worker (por ejemplo, containerd) y garantiza que la imagen tenga todos los blobs en el almacén de contenido. Se ignora si el worker no tiene almacenamiento de imágenes (cuando se utilizan workers OCI, por ejemplo).
annotation.<key>StringAdjunta una anotación con la respectiva clave y valor a la imagen compilada, consulta anotaciones

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 image o registry, consulta el README de BuildKit.