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

Compilar con Docker Build Cloud

Para compilar utilizando Docker Build Cloud, invoca un comando de compilación y especifica el nombre del builder utilizando la bandera --builder.

$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> --tag <IMAGE> .

Usar de forma predeterminada

Si deseas utilizar Docker Build Cloud sin tener que especificar la bandera --builder en cada ocasión, puedes configurarlo como el builder predeterminado.

Ejecuta el siguiente comando:

$ docker buildx use cloud-<ORG>-<BUILDER_NAME> --global
  1. Abre la configuración de Docker Desktop y navega a la pestaña Builders.

  2. Busca el builder en la nube en Available builders.

  3. Abre el menú desplegable y selecciona Use (Usar).

    Configurar el builder en la nube como predeterminado utilizando la interfaz gráfica de Docker Desktop

Cambiar tu builder predeterminado con docker buildx use solo modifica el builder predeterminado para el comando docker buildx build. El comando docker build seguirá utilizando el builder default, a menos que especifiques la bandera --builder de forma explícita.

Si utilizas scripts de compilación, como make, que ejecutan el comando docker build, te recomendamos actualizar tus comandos de compilación a docker buildx build. De manera alternativa, puedes configurar la variable de entorno BUILDX_BUILDER para especificar qué builder debe utilizar docker build.

Uso con Docker Compose

Para compilar con Docker Build Cloud utilizando docker compose build, primero configura el builder en la nube como tu builder seleccionado y luego ejecuta la compilación.

Note

Asegúrate de estar utilizando una versión compatible de Docker Compose; consulta Requisitos previos.

$ docker buildx use cloud-<ORG>-<BUILDER_NAME>
$ docker compose build

Además de docker buildx use, también puedes utilizar la bandera docker compose build --builder o la variable de entorno BUILDX_BUILDER para seleccionar el builder en la nube.

Cargar resultados de compilación

Compilar con --tag carga automáticamente el resultado de la compilación en el almacenamiento de imágenes local cuando finaliza la compilación. Para compilar sin etiqueta y cargar el resultado, debes pasar la bandera --load.

No se admite la carga de resultados de compilación para imágenes multiplataforma. Utiliza la bandera docker buildx build --push al compilar imágenes multiplataforma para subir el resultado a un registro.

$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
  --platform linux/amd64,linux/arm64 \
  --tag <IMAGE> \
  --push .

Si deseas compilar con una etiqueta, pero no quieres cargar los resultados en tu almacenamiento de imágenes local, puedes exportar los resultados únicamente a la caché de compilación:

$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
  --platform linux/amd64,linux/arm64 \
  --tag <IMAGE> \
  --output type=cacheonly .

Compilaciones multiplataforma

Para ejecutar compilaciones multiplataforma, debes especificar todas las plataformas para las que deseas compilar utilizando la bandera --platform.

$ docker buildx build --builder cloud-<ORG>-<BUILDER_NAME> \
  --platform linux/amd64,linux/arm64 \
  --tag <IMAGE> \
  --push .

Si no especificas la plataforma, el builder en la nube compilará automáticamente para la arquitectura que coincida con tu entorno local.

Para obtener más información sobre la compilación para múltiples plataformas, consulta Compilaciones multiplataforma.

Compilaciones en la nube en Docker Desktop

La vista de compilaciones de Docker Desktop funciona con Docker Build Cloud desde el primer momento. Esta vista puede mostrar información no solo sobre tus propias compilaciones, sino también sobre las compilaciones iniciadas por los miembros de tu equipo que utilizan el mismo builder.

Los equipos que utilizan un builder compartido tienen acceso a información como:

  • Compilaciones en curso y completadas
  • Configuración de la compilación, estadísticas, dependencias y resultados
  • Origen de la compilación (Dockerfile)
  • Registros (logs) y errores de la compilación

Esto te permite a ti y a tu equipo colaborar en la resolución de problemas y en la mejora de la velocidad de las compilaciones, sin tener que enviarse registros y pruebas de rendimiento entre sí.

Uso de secretos con Docker Build Cloud

Para utilizar secretos de compilación con Docker Build Cloud, tales como credenciales de autenticación o tokens, utiliza las banderas de la CLI --secret y --ssh con el comando docker buildx. El tráfico se cifra y los secretos nunca se almacenan en la caché de compilación.

Warning

Si estás haciendo un uso incorrecto de los argumentos de compilación para pasar credenciales, tokens de autenticación u otros secretos, deberías refactorizar tu compilación para pasar los secretos utilizando montajes de secretos en su lugar. Los argumentos de compilación se almacenan en la caché y sus valores quedan expuestos a través de las atestaciones. Los montajes de secretos no se filtran fuera de la compilación y nunca se incluyen en las atestaciones.

Para obtener más información, consulta:

Gestión de la caché de compilación

No necesitas administrar la caché de Docker Build Cloud de forma manual. El sistema la administra por ti a través de la recolección de basura.

La caché antigua se elimina automáticamente si alcanzas el límite de almacenamiento. Puedes comprobar el estado actual de tu caché utilizando el comando docker buildx du.

Para borrar la caché del builder de forma manual, utiliza el comando docker buildx prune. Esto funciona igual que vaciar la caché de cualquier otro builder.

Warning

Vaciar la caché de un builder en la nube también elimina la caché de otros miembros del equipo que utilicen el mismo builder.

Desactivar Docker Build Cloud como builder predeterminado

Si has configurado un builder en la nube como builder predeterminado y deseas volver al builder docker por defecto, ejecuta el siguiente comando:

$ docker context use default

Esto no elimina el builder de tu sistema. Solo cambia el builder que se selecciona automáticamente para ejecutar tus compilaciones.

Registros en redes internas

Es posible utilizar Docker Build Cloud con un registro privado o un espejo de registro (registry mirror) en una red interna.