Follow-up to #532
In addition to %LOCALAPPDATA%\Docker\run\dockerInference (the known AF_UNIX socket with ReparsePoint), there is another socket that gets blocked:
%LOCALAPPDATA%\docker-secrets-engine\engine.sock
When Docker Desktop is killed uncleanly, this file also gets the ReparsePoint attribute (0 bytes, cannot be deleted or overwritten). On next startup, the backend crashes with:
listening on unix://C:\Users\[...]\docker-secrets-engine\engine.sock:
remove C:\Users\[...]\docker-secrets-engine\engine.sock:
The file cannot be accessed by the system.
Full error from backend.error.json
{
"type": "*fmt.wrapError",
"error": {
"component": "services",
"originalError": {
"description": "listening on unix://C:\...\docker-secrets-engine\engine.sock: remove C:\...\docker-secrets-engine\engine.sock: The file cannot be accessed by the system."
},
"message": "initializing Secrets Engine"
},
"message": "starting services"
}
Environment
- Docker Desktop 4.69.0 (build 224084)
- Docker engine 29.4.0
- Windows 11 Pro 10.0.26200
- WSL2 (KDE-plasma/Ubuntu)
Workaround
Same as #532 — rename the parent directory before starting Docker Desktop:
mv "%LOCALAPPDATA%\docker-secrets-engine" "%LOCALAPPDATA%\docker-secrets-engine.bak"
Or during the #532 cleanup, do both:
mv "%LOCALAPPDATA%\Docker\run" "%LOCALAPPDATA%\Docker\run.stale"
mv "%LOCALAPPDATA%\docker-secrets-engine" "%LOCALAPPDATA%\docker-secrets-engine.bak"
# Then set EnableDockerAI: false in settings-store.json
# Then start Docker Desktop
The root cause is the same: Windows AF_UNIX sockets (WSL2) become ReparsePoint files after an unclean shutdown, and neither Docker's cleanup logic nor normal file deletion tools (rm, Remove-Item, fsutil, robocopy) can handle them. Renaming the parent directory is the only working workaround.
Follow-up to #532
In addition to
%LOCALAPPDATA%\Docker\run\dockerInference(the known AF_UNIX socket with ReparsePoint), there is another socket that gets blocked:When Docker Desktop is killed uncleanly, this file also gets the ReparsePoint attribute (0 bytes, cannot be deleted or overwritten). On next startup, the backend crashes with:
Full error from
backend.error.json{ "type": "*fmt.wrapError", "error": { "component": "services", "originalError": { "description": "listening on unix://C:\...\docker-secrets-engine\engine.sock: remove C:\...\docker-secrets-engine\engine.sock: The file cannot be accessed by the system." }, "message": "initializing Secrets Engine" }, "message": "starting services" }Environment
Workaround
Same as #532 — rename the parent directory before starting Docker Desktop:
Or during the #532 cleanup, do both:
The root cause is the same: Windows AF_UNIX sockets (WSL2) become ReparsePoint files after an unclean shutdown, and neither Docker's cleanup logic nor normal file deletion tools (rm, Remove-Item, fsutil, robocopy) can handle them. Renaming the parent directory is the only working workaround.