docker / for-win

Bug reports for Docker Desktop for Windows
https://www.docker.com/products/docker#/windows
1.87k stars 288 forks source link

Docker desktop unable to start without elevated privileges #13311

Open roysmets opened 1 year ago

roysmets commented 1 year ago

Actual behavior

Fails to start docker engine When starting docker-desktop w/ elevated privileges docker engine starts normal

Expected behavior

Starting docker desktop application as normal user (no elevated privileges)

Information

Output of & "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check

[2023-03-17T10:31:05.279780200Z][com.docker.diagnose.exe][I] set path configuration to OnHost
Starting diagnostics

[PASS] DD0027: is there available disk space on the host?
[PASS] DD0028: is there available VM disk space?
[PASS] DD0002: does the bootloader have virtualization enabled?
[SKIP] DD0018: does the host support virtualization?
[PASS] DD0001: is the application running?
[PASS] DD0022: is the Virtual Machine Platform Windows Feature enabled?
[PASS] DD0021: is the WSL 2 Windows Feature enabled?
[PASS] DD0024: is WSL installed?
[PASS] DD0025: are WSL distros installed?
[PASS] DD0026: is the WSL LxssManager service running?
[FAIL] DD0029: is the WSL 2 Linux filesystem corrupt? [   42.835788] EXT4-fs error (device sdd) in ext4_init_inode_table:1625: IO failure
[PASS] DD0035: is the VM time synchronized?
[PASS] DD0017: can a VM be started?
[PASS] DD0016: is the LinuxKit VM running?
[PASS] DD0011: are the LinuxKit services running?
[FAIL] DD0004: is the Docker engine running? Get "http://ipc/docker": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:08.860625200Z][com.docker.diagnose.exe][I] ipc.NewClient: 32b1e38d-com.docker.diagnose -> \\.\pipe\dockerLifecycleServer VMDockerdAPI
[2023-03-17T10:31:08.860625200Z][com.docker.diagnose.exe][I] (3e4d0883) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /docker
[2023-03-17T10:31:08.861148600Z][com.docker.diagnose.exe][W] (3e4d0883) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /docker (523.4µs): Get "http://ipc/docker": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:08.861662200Z][com.docker.diagnose.exe][I] (3e4d0883-1) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-03-17T10:31:08.862190700Z][com.docker.diagnose.exe][W] (3e4d0883-1) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /ping (528.5µs): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:09.876484400Z][com.docker.diagnose.exe][I] (3e4d0883-2) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-03-17T10:31:09.877058200Z][com.docker.diagnose.exe][W] (3e4d0883-2) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /ping (573.8µs): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:10.892576900Z][com.docker.diagnose.exe][I] (3e4d0883-3) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-03-17T10:31:10.893088900Z][com.docker.diagnose.exe][W] (3e4d0883-3) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:11.903987400Z][com.docker.diagnose.exe][I] (3e4d0883-4) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-03-17T10:31:11.905312900Z][com.docker.diagnose.exe][W] (3e4d0883-4) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /ping (1.3255ms): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:12.920437700Z][com.docker.diagnose.exe][I] (3e4d0883-5) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-03-17T10:31:12.920947500Z][com.docker.diagnose.exe][W] (3e4d0883-5) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /ping (509.8µs): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:13.935470500Z][com.docker.diagnose.exe][I] (3e4d0883-6) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-03-17T10:31:13.936088300Z][com.docker.diagnose.exe][W] (3e4d0883-6) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /ping (617.8µs): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:14.940209900Z][com.docker.diagnose.exe][I] (3e4d0883-7) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-03-17T10:31:14.941912700Z][com.docker.diagnose.exe][W] (3e4d0883-7) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /ping (1.1432ms): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[2023-03-17T10:31:15.944444900Z][com.docker.diagnose.exe][I] (3e4d0883-8) 32b1e38d-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-03-17T10:31:15.945764100Z][com.docker.diagnose.exe][W] (3e4d0883-8) 32b1e38d-com.docker.diagnose C<-S NoResponse GET /ping (1.3192ms): Get "http://ipc/ping": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.

[PASS] DD0015: are the binary symlinks installed?
[FAIL] DD0031: does the Docker API work? error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine_linux/v1.24/containers/json?limit=0": open //./pipe/docker_engine_linux: The system cannot find the file specified.
[PASS] DD0013: is the $PATH ok?
Error response from daemon: open \\.\pipe\docker_engine_linux: The system cannot find the file specified.
[FAIL] DD0003: is the Docker CLI working? exit status 1
[PASS] DD0005: is the user in the docker-users group?
[PASS] DD0038: is the connection to Docker working?
[PASS] DD0014: are the backend processes running?
[PASS] DD0007: is the backend responding?
[PASS] DD0008: is the native API responding?
[PASS] DD0009: is the vpnkit API responding?
[PASS] DD0010: is the Docker API proxy responding?
[PASS] DD0006: is the Docker Desktop Service responding?
[SKIP] DD0030: is the image access management authorized?
[PASS] DD0033: does the host have Internet access?
[PASS] DD0002: does the bootloader have virtualization enabled?
[PASS] DD0018: does the host support virtualization?
[PASS] DD0001: is the application running?
[PASS] DD0022: is the Virtual Machine Platform Windows Feature enabled?
[PASS] DD0021: is the WSL 2 Windows Feature enabled?
[PASS] DD0024: is WSL installed?
[PASS] DD0025: are WSL distros installed?
[PASS] DD0026: is the WSL LxssManager service running?
[WARN] DD0029: is the WSL 2 Linux filesystem corrupt? [   42.835788] EXT4-fs error (device sdd) in ext4_init_inode_table:1625: IO failure
[PASS] DD0035: is the VM time synchronized?
[PASS] DD0017: can a VM be started?
[PASS] DD0016: is the LinuxKit VM running?
[PASS] DD0011: are the LinuxKit services running?
[WARN] DD0004: is the Docker engine running? Get "http://ipc/docker": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[PASS] DD0015: are the binary symlinks installed?
[WARN] DD0031: does the Docker API work? error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine_linux/v1.24/containers/json?limit=0": open //./pipe/docker_engine_linux: The system cannot find the file specified.
[WARN] DD0032: do Docker networks overlap with host IPs? error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine_linux/v1.24/networks": open //./pipe/docker_engine_linux: The system cannot find the file specified.
segment 2023/03/17 11:31:18 ERROR: sending request - Post "https://api.segment.io/v1/batch": dial tcp: lookup api.segment.io: getaddrinfow: The requested name is valid, but no data of the requested type was found.
segment 2023/03/17 11:31:18 ERROR: 1 messages dropped because they failed to be sent and the client was closed

Please note the following 4 warnings:

1 : The check: is the WSL 2 Linux filesystem corrupt?
    Produced the following warning: [   42.835788] EXT4-fs error (device sdd) in ext4_init_inode_table:1625: IO failure

If the WSL 2 Linux filesystem is corrupt then Docker Desktop cannot start.
There is a known issue fixed in Windows Insider builds which can cause filesystem corruption, see:
https://github.com/microsoft/WSL/issues/5895 .

Try running "wsl --shutdown" to stop your WSL Virtual Machine. When it restarts it will
run a filesystem check and hopefully fix the problem.

2 : The check: is the Docker engine running?
    Produced the following warning: Get "http://ipc/docker": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.

The Docker engine manages all containers and images on the host. Check the dockerd.log to see why it failed to start.

3 : The check: does the Docker API work?
    Produced the following warning: error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine_linux/v1.24/containers/json?limit=0": open //./pipe/docker_engine_linux: The system cannot find the file specified.

If the Docker API is not available from the host then Docker Desktop will not work correctly.

4 : The check: do Docker networks overlap with host IPs?
    Produced the following warning: error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine_linux/v1.24/networks": open //./pipe/docker_engine_linux: The system cannot find the file specified.

If the subnet used by a Docker network overlaps with an IP used by the host, then containers
won't be able to contact the overlapping IP addresses.

Try configuring the IP address range used by networks: in your docker-compose.yml.
See https://docs.docker.com/compose/compose-file/compose-file-v2/#ipv4_address-ipv6_address

Please investigate the following 1 issue:

1 : The test: is the WSL 2 Linux filesystem corrupt?
    Failed with: [   42.835788] EXT4-fs error (device sdd) in ext4_init_inode_table:1625: IO failure

If the WSL 2 Linux filesystem is corrupt then Docker Desktop cannot start.
There is a known issue fixed in Windows Insider builds which can cause filesystem corruption, see:
https://github.com/microsoft/WSL/issues/5895 .

Try running "wsl --shutdown" to stop your WSL Virtual Machine. When it restarts it will
run a filesystem check and hopefully fix the problem.

Steps to reproduce the behavior

  1. start docker-desktop w/o admin elevated privileges
  2. after some time the error is presented that docker couldn't be started
docker-robot[bot] commented 1 year ago

There hasn't been any activity on this issue for a long time. If the problem is still relevant, mark the issue as fresh with a /remove-lifecycle stale comment. If not, this issue will be closed in 30 days.

Prevent issues from auto-closing with a /lifecycle frozen comment.

/lifecycle stale