# docker buildx dap build

**Descripción:** Inicia una construcción

**Uso:** `docker buildx dap build [OPTIONS] PATH | URL | -`










## Descripción

Inicia una sesión de depuración utilizando el [protocolo del adaptador de
depuración](https://microsoft.github.io/debug-adapter-protocol/overview) para comunicarse con la interfaz de
usuario del depurador.

Los argumentos son los mismos que los de `build`

> [!NOTE]
> El comando `buildx dap build` podría recibir características incompatibles con versiones
> anteriores en el futuro si fuera necesario. Buscamos comentarios para mejorar el comando y
> ampliar su funcionalidad.


## Opciones

| Opción                                                        | Predeterminado                                        | Descripción                                                                                                                                    |
| ------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  | `--add-host` |  |  Añade un mapeo personalizado de host a IP (formato: `host:ip`) |

 | `--allow` |  |  Permite concesiones de privilegios adicionales (por ejemplo, `network.host`, `security.insecure`, `device`)<br> |

 | `--annotation` |  |  Añade una anotación a la imagen |

 | `--attest` |  |  Parámetros de atestación (formato: `type=sbom,generator=image`) |

 | `--build-arg` |  |  Establece variables en tiempo de construcción |

 | `--build-context` |  |  Contextos de construcción adicionales (por ejemplo, name=path) |

 | `--cache-from` |  |  Fuentes de caché externas (por ejemplo, `user/app:cache`, `type=local,src=ruta/al/directorio`)<br> |

 | `--cache-to` |  |  Destinos de exportación de caché (por ejemplo, `user/app:cache`, `type=local,dest=ruta/al/directorio`)<br> |

 | `--call` | `build` |  Establece el método para evaluar la construcción (`check`, `outline`, `targets`) |

 | `--cgroup-parent` |  |  Establece el cgroup primario para las instrucciones `RUN` durante la construcción |

 | `--check` |  |  Atajo para `--call=check` |

 | `-f`, `--file` |  |  Nombre del Dockerfile (predeterminado: `PATH/Dockerfile`) |

 | `--iidfile` |  |  Escribe el ID de la imagen en un archivo |

 | `--label` |  |  Establece los metadatos de una imagen |

 | `--load` |  |  Atajo para `--output=type=docker` |

 | `--metadata-file` |  |  Escribe los metadatos del resultado de la construcción en un archivo |

 | `--network` |  |  Establece el modo de red para las instrucciones `RUN` durante la construcción |

 | `--no-cache` |  |  No utiliza la caché al construir la imagen |

 | `--no-cache-filter` |  |  No almacena en caché las etapas especificadas |

 | `-o`, `--output` |  |  Destino de salida (formato: `type=local,dest=ruta`) |

 | `--platform` |  |  Establece la plataforma de destino para la construcción |

 | `--policy` |  |  Configuración de política (formato: `filename=ruta[,filename=ruta][,reset=true|false][,disabled=true|false][,strict=true|false][,log-level=nivel]`)<br> |

 | `--progress` | `auto` |  Establece el tipo de salida de progreso (`auto`, `none`, `plain`, `quiet`, `rawjson`, `tty`). Use plain para mostrar la salida del contenedor<br> |

 | `--provenance` |  |  Atajo para `--attest=type=provenance` |

 | `--pull` |  |  Intenta siempre descargar (pull) todas las imágenes referenciadas |

 | `--push` |  |  Atajo para `--output=type=registry,unpack=false` |

 | `-q`, `--quiet` |  |  Suprime la salida de la construcción e imprime el ID de la imagen si tiene éxito |

 | `--sbom` |  |  Atajo para `--attest=type=sbom` |

 | `--secret` |  |  Secreto a exponer en la construcción (formato: `id=mysecret[,src=/local/secret]`)<br> |

 | `--shm-size` |  |  Tamaño de la memoria compartida para los contenedores de construcción |

 | `--ssh` |  |  Socket o claves del agente SSH a exponer en la construcción (formato: `default|<id>[=<socket>|<clave>[,<clave>]]`)<br> |

 | `-t`, `--tag` |  |  Identificador de imagen (formato: `[registry/]repository[:tag]`) |

 | `--target` |  |  Establece la etapa de construcción de destino a construir |

 | `--ulimit` |  |  Opciones de ulimit |




## Ejemplos

### Argumentos de la solicitud de lanzamiento (launch request) {#launch-config}

Se admiten los siguientes [argumentos de solicitud de lanzamiento](https://microsoft.github.io/debug-adapter-protocol/specification#Requests_Launch). Estos se envían como un cuerpo JSON como parte de la solicitud de lanzamiento.

| Nombre | Tipo | Predeterminado | Descripción |
|:--------------------|:--------------|:-------------|:-----------------------------------------------------------------------------|
| `dockerfile`        | `string`      | `Dockerfile` | Nombre del Dockerfile |
| `contextPath`       | `string`      | `.`          | Establece la ruta del contexto para la construcción (normalmente el primer argumento posicional) |
| `target`            | `string`      |              | Establece la etapa de construcción de destino a construir |
| `stopOnEntry`       | `boolean`     | `false`      | Detenerse en la primera instrucción |

### Argumentos adicionales {#additional-args}

Los argumentos de línea de comandos se pueden pasar al adaptador de depuración de la misma manera
que se pasarían al comando de construcción normal y establecerán el valor.
Los argumentos de la solicitud de lanzamiento que estén establecidos anularán los argumentos de
la línea de comandos si están presentes.

Una extensión de depuración debería incluir una entrada `args` y `builder` en la configuración
de lanzamiento. Estas modificarán los argumentos pasados al binario para la invocación de la herramienta.
`builder` añadirá `--builder <argumento>` directamente después del ejecutable y `args` se
añadirá al final de la invocación de la herramienta.
Por ejemplo, una configuración de lanzamiento en Visual Studio Code con lo siguiente:

```json
{
    "args": ["--build-arg", "FOO=AAA"]
    "builder": ["mybuilder"]
}
```

Esto debería hacer que el adaptador de depuración se invoque como `docker buildx --builder mybuilder dap build --build-arg FOO=AAA`.



