docker buildx dap build

DescriptionStart a build
Usagedocker buildx dap build [OPTIONS] PATH | URL | -

Experimental

This command is experimental.

Experimental features are intended for testing and feedback as their functionality or design may change between releases without warning or can be removed entirely in a future release.

Description

Start a debug session using the debug adapter protocol to communicate with the debugger UI.

Arguments are the same as the build

Note

buildx dap build command may receive backwards incompatible features in the future if needed. We are looking for feedback on improving the command and extending the functionality further.

Options

OptionDefaultDescription
--add-hostAdd a custom host-to-IP mapping (format: host:ip)
--allowAllow extra privileged entitlement (e.g., network.host, security.insecure)
--annotationAdd annotation to the image
--attestAttestation parameters (format: type=sbom,generator=image)
--build-argSet build-time variables
--build-contextAdditional build contexts (e.g., name=path)
--cache-fromExternal cache sources (e.g., user/app:cache, type=local,src=path/to/dir)
--cache-toCache export destinations (e.g., user/app:cache, type=local,dest=path/to/dir)
--callbuildSet method for evaluating build (check, outline, targets)
--cgroup-parentSet the parent cgroup for the RUN instructions during build
--checkShorthand for --call=check
-f, --fileName of the Dockerfile (default: PATH/Dockerfile)
--iidfileWrite the image ID to a file
--labelSet metadata for an image
--loadShorthand for --output=type=docker
--metadata-fileWrite build result metadata to a file
--networkSet the networking mode for the RUN instructions during build
--no-cacheDo not use cache when building the image
--no-cache-filterDo not cache specified stages
-o, --outputOutput destination (format: type=local,dest=path)
--platformSet target platform for build
--progressautoSet type of progress output (auto, quiet, plain, tty, rawjson). Use plain to show container output
--provenanceShorthand for --attest=type=provenance
--pullAlways attempt to pull all referenced images
--pushShorthand for --output=type=registry
-q, --quietSuppress the build output and print image ID on success
--sbomShorthand for --attest=type=sbom
--secretSecret to expose to the build (format: id=mysecret[,src=/local/secret])
--shm-sizeShared memory size for build containers
--sshSSH agent socket or keys to expose to the build (format: default|<id>[=<socket>|<key>[,<key>]])
-t, --tagName and optionally a tag (format: name:tag)
--targetSet the target build stage to build
--ulimitUlimit options

Examples

Launch request arguments

The following launch request arguments are supported. These are sent as a JSON body as part of the launch request.

NameTypeDefaultDescription
dockerfilestringDockerfileName of the Dockerfile
contextPathstring.Set the context path for the build (normally the first positional argument)
targetstringSet the target build stage to build
stopOnEntrybooleanfalseStop on the first instruction

Additional Arguments

Command line arguments may be passed to the debug adapter the same way they would be passed to the normal build command and they will set the value. Launch request arguments that are set will override command line arguments if they are present.

A debug extension should include an args entry in the launch configuration and should append these arguments to the end of the tool invocation. For example, a launch configuration in Visual Studio Code with the following:

{
    "args": ["--build-arg", "FOO=AAA"]
}

This should cause the debug adapter to be invoked as docker buildx dap build --build-arg FOO=AAA.