CLI Plugins not being restored anymore.
Description
From time to time I'm clearing the .docker directory in my home directory. This never caused any issues in the past and, from my point of view, should just lead to Docker Desktop re-initializing these contents as if it was a fresh installation.
With Docker Desktop v4.38 and before, this worked just fine and everything still worked as expected after clearing the directory and restarting Docker Desktop.
Since v4.39 some contents, especially the cli-plugins, are no longer getting restored to factory defaults anymore, even when I use "Reset to factory defaults" in the troubleshooting menu.
This leads to commands being driven by such CLI plugins to no longer work with v4.39 after clearing the .docker directory. As stated before, v4.38 just recreated all the symlinks in the cli-plugins directory inside the .docker directory inside my home directory and these plugins therefore continued to work.
Reproduce
- Install Docker Desktop for Mac v4.39.
- Configure everything as you wish.
- Run
docker buildx --helpto verify the buildx plugin is working. - Quit the Docker Desktop app via the tray icon.
- Remove all the contents of the
.dockerdirectory in your home directory. - Start Docker Desktop again.
- Check
docker buildx --helpagain to see it's no longer working.
Expected behavior
IMHO it should be possible to throw away the user configuration in the .docker directory inside your home directory at any time and Docker Desktop should recreate it as it did in v4.38.
docker version
Client:
Version: 28.0.1
API version: 1.48
Go version: go1.23.6
Git commit: 068a01e
Built: Wed Feb 26 10:38:16 2025
OS/Arch: darwin/arm64
Context: desktop-linux
Server: Docker Desktop 4.39.0 (184744)
Engine:
Version: 28.0.1
API version: 1.48 (minimum version 1.24)
Go version: go1.23.6
Git commit: bbd0a17
Built: Wed Feb 26 10:40:57 2025
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.2.4
GitCommit: v1.2.4-0-g6c52b3f
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker info
Client:
Version: 28.0.1
Context: desktop-linux
Debug Mode: false
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 28.0.1
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc version: v1.2.4-0-g6c52b3f
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 6.10.14-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 8
Total Memory: 7.654GiB
Name: docker-desktop
ID: d7e41cfb-280d-40b9-8334-15fa682d6251
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=unix:///Users/marco/Library/Containers/com.docker.docker/Data/docker-cli.sock
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
::1/128
127.0.0.0/8
Live Restore Enabled: false
Diagnostics ID
E97E0B00-5FD6-4827-BFCE-967712AD9640/20250312145824
Additional Info
No response