- Tree Sitter: tree-sitter-dockerfile, tree-sitter-yaml
- Language Server: dockerfile-language-server, docker-language-server
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.
To support matching filenames other than Dockerfile you can add file_types to your Zed project or user settings:
{
"file_types": {
"Dockerfile": ["Dockerfile.*"]
}
}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.