Compose files are given their own Docker Compose language, matched on
compose.yaml, compose.yml, docker-compose.yaml and docker-compose.yml.
Plain YAML files are unaffected.
Each entry under services: gets runnables, so a single service can be brought
up, run and taken down from the gutter:
| Task | Effect |
|---|---|
up | starts the service and its dependencies, attached so logs appear in the terminal |
run | starts a one-off container for the service |
down | stops and removes the service's containers |
Each is offered for docker compose, docker-compose, podman compose and
podman-compose.
By default, this extension associates Dockerfile, dockerfile, and Containerfile with Dockerfile syntax.
To match additional custom patterns (such as Dockerfile.dev or Dockerfile.prod), add the file_types setting to your user or project settings.json:
{
"file_types": {
"Dockerfile": ["Dockerfile.*", "Containerfile.*"],
}
}
The extension supports debugging Dockerfile builds with Buildx. The minimal required version of Buildx is v0.28.0. To get Buildx, we recommend installing or updating Docker Desktop. You may alternatively install Buildx manually by following the instructions here.
You can validate your Buildx installation by running BUILDX_EXPERIMENTAL=1 docker buildx dap.
You can create a debug configuration by modifying your project's .zed/debug.json.
{
"label": "Docker: Build", // required, configurable
"adapter": "buildx-dockerfile", // required, must not be modified
"request": "launch", // required, must not be modified
"contextPath": "/home/username/worktree", // optional, defaults to ${ZED_WORKTREE_ROOT}
"dockerfile": "/home/username/worktree/Dockerfile", // optional, defaults to ${ZED_WORKTREE_ROOT}/Dockerfile
"target": "test", // optional, should be a build stage in the Dockerfile
"stopOnEntry": true, // if the debugger should suspend on the first line, defaults to false
"args": [
// additional arguments for the build command
"--build-arg",
"NODE_ENV=development"
]
}
While a build has been suspended, you can evaluate exec to open a shell into the Docker image that has been built up to that point in time.
194 followers · starred Oct 2026
496 followers · starred Aug 2026
58 followers · starred Mar 2024
36 followers · starred Jan 2026
Compose files are given their own Docker Compose language, matched on
compose.yaml, compose.yml, docker-compose.yaml and docker-compose.yml.
Plain YAML files are unaffected.
Each entry under services: gets runnables, so a single service can be brought
up, run and taken down from the gutter:
| Task | Effect |
|---|---|
up | starts the service and its dependencies, attached so logs appear in the terminal |
run | starts a one-off container for the service |
down | stops and removes the service's containers |
Each is offered for docker compose, docker-compose, podman compose and
podman-compose.
By default, this extension associates Dockerfile, dockerfile, and Containerfile with Dockerfile syntax.
To match additional custom patterns (such as Dockerfile.dev or Dockerfile.prod), add the file_types setting to your user or project settings.json:
{
"file_types": {
"Dockerfile": ["Dockerfile.*", "Containerfile.*"],
}
}
The extension supports debugging Dockerfile builds with Buildx. The minimal required version of Buildx is v0.28.0. To get Buildx, we recommend installing or updating Docker Desktop. You may alternatively install Buildx manually by following the instructions here.
You can validate your Buildx installation by running BUILDX_EXPERIMENTAL=1 docker buildx dap.
You can create a debug configuration by modifying your project's .zed/debug.json.
{
"label": "Docker: Build", // required, configurable
"adapter": "buildx-dockerfile", // required, must not be modified
"request": "launch", // required, must not be modified
"contextPath": "/home/username/worktree", // optional, defaults to ${ZED_WORKTREE_ROOT}
"dockerfile": "/home/username/worktree/Dockerfile", // optional, defaults to ${ZED_WORKTREE_ROOT}/Dockerfile
"target": "test", // optional, should be a build stage in the Dockerfile
"stopOnEntry": true, // if the debugger should suspend on the first line, defaults to false
"args": [
// additional arguments for the build command
"--build-arg",
"NODE_ENV=development"
]
}
While a build has been suspended, you can evaluate exec to open a shell into the Docker image that has been built up to that point in time.
194 followers · starred Oct 2026
496 followers · starred Aug 2026
58 followers · starred Mar 2024
36 followers · starred Jan 2026