# 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`.

```console
$ 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.

**CLI**



Ejecuta el siguiente comando:

```console
$ docker buildx use cloud-<ORG>-<BUILDER_NAME> --global
```

**Docker Desktop**



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](/build/images/set-default-builder-gui.webp)



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`](/build/building/variables/#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](/build-cloud/usage/setup/#prerequisites).

```console
$ 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`](/build/building/variables/#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.

```console
$ 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:

```console
$ 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`.

```console
$ 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](/build/building/multi-platform/).

## Compilaciones en la nube en Docker Desktop

La [vista de compilaciones](/desktop/use-desktop/builds/) 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](/reference/cli/docker/buildx/build/#secret) 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:

- [`docker buildx build --secret`](/reference/cli/docker/buildx/build/#secret)
- [`docker buildx build --ssh`](/reference/cli/docker/buildx/build/#ssh)

## 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](/build/cache/garbage-collection/).

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`](/reference/cli/docker/buildx/du/).

Para borrar la caché del builder de forma manual,
utiliza el [comando `docker buildx prune`](/reference/cli/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:

```console
$ 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](/build-cloud/builder-settings/#private-resource-access)
o un espejo de registro (registry mirror) en una red interna.

