-
Notifications
You must be signed in to change notification settings - Fork 400
Description
Dev Containers does not auto-start Docker Desktop when Docker CLI is v29.x (regression caused by changed error messages in Docker Desktop 4.52.0+)
Versions
- VSCode Version: 1.106.3
- Local OS Version: macOS (Sonoma / applicable version)
- Remote OS Version: N/A (local Dev Container)
- Remote Extension/Connection Type: Dev Containers (ms-vscode-remote.remote-containers 0.431.1)
Environment Notes
- Docker Engine / CLI becomes v29+ starting with Docker Desktop 4.52.0.
- Issue confirmed on Docker Desktop 4.54.0.
- Likely also affects 4.53.0 (CLI shows v29.1.2).
- Downgrading to Docker Desktop 4.51.0 (Engine 28.5.2 / CLI 28.x) → auto-start begins working again.
Logs (Docker Desktop not running)
Start: Run: docker version --format {{json .}}
{"Client":{"Version":"29.1.2","ApiVersion":"1.52","Context":"desktop-linux"},"Server":null}
failed to connect to the docker API at unix:///Users/home/.docker/run/docker.sock; check if the path is correct and if the daemon is running: dial unix /Users/home/.docker/run/docker.sock: connect: no such file or directory
Exit code 1
Expected behavior:
Dev Containers should detect this as "Docker is not running" and auto-start Docker Desktop by executing:
open -a Docker
Actual behavior:
Dev Containers does not attempt to auto-start Docker Desktop.
It stops after the docker version failure.
This only occurs with Docker CLI v29.x. With v28.x, auto-start works correctly.
Note: This issue occurs on macOS, where Dev Containers relies on triggering "open -a Docker" during its auto-start logic. With Docker CLI v29.x, the daemon-not-running error is not recognized, so this macOS-specific auto-start step never executes.
Steps to Reproduce:
- Install Docker Desktop ≥ 4.52.0.
- Quit Docker Desktop completely.
- Open VS Code → open a workspace with .devcontainer/devcontainer.json.
- Run "Reopen in Container".
- Dev Containers runs:
docker version --format {{json .}}
- Docker CLI v29 returns the following updated error message when the daemon is not running:
failed to connect to the docker API ... check if the daemon is running
- Dev Containers does not interpret this message as "Docker is not running".
- Therefore, auto-start logic (open -a Docker) never triggers.
- Dev Container startup fails.
Control Test:
Using Docker Desktop 4.51.0 (Docker CLI 28.x):
- Auto-start works correctly
- Same Dev Containers version and same VS Code version
Expected:
Dev Containers should recognize Docker CLI v29's updated error output and continue to auto-start Docker Desktop as before.
Actual:
Auto-start is skipped entirely due to unrecognized error format.
Checks:
Does this issue occur locally?: Yes
Does this occur with all extensions disabled except Dev Containers?: Yes
Summary:
This is a regression introduced by the updated Docker CLI v29 error messages (Docker Desktop 4.52.0+). Dev Containers' detection logic for "Docker daemon not running" appears to rely on old error strings, so the auto-start feature no longer triggers.