docker / for-mac

Bug reports for Docker Desktop for Mac
https://www.docker.com/products/docker#/mac
2.44k stars 119 forks source link

Docker Desktop allows upgrade to 4.16.x from previous version on MacOS 10.15.7 #6722

Open jimklo opened 1 year ago

jimklo commented 1 year ago

Expected behavior

On MacOS 10.15.7, Docker Desktop should not permit upgrade to 4.16 since MacOS 11 is the minimum supported version.

Actual behavior

Docker Desktop performs upgrade to Docker 4.16.2 without validating that 10.15.7 is unsupported. Downloads and installs, however because binary is not supported, Docker silently fails to start.

Information

Reproducible: Yes New Problem: Yes Did the problem appear with an update? Yes, the problem is the update.

MacOS 10.15.7, Intel Docker Desktop 4.15

Output of /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check

$ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check
Starting diagnostics

[PASS] DD0027: is there available disk space on the host?
[PASS] DD0028: is there available VM disk space?
[PASS] DD0018: does the host support virtualization?
[PASS] DD0001: is the application running?
[PASS] DD0017: can a VM be started?
[PASS] DD0016: is the LinuxKit VM running?
[PASS] DD0011: are the LinuxKit services running?
[PASS] DD0004: is the Docker engine running?
[PASS] DD0015: are the binary symlinks installed?
[PASS] DD0031: does the Docker API work?
[PASS] DD0013: is the $PATH ok?
[PASS] DD0003: is the Docker CLI 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?
[FAIL] DD0012: is the VM networking working? network checks failed: failed to ping host: exit status 1
[2023-02-07T01:14:12.514872000Z][com.docker.diagnose][I] ipc.NewClient: d2a008ab-diagnose-network -> diagnosticd.sock diagnosticsd
[common/pkg/diagkit/gather/diagnose.runIsVMNetworkingOK()
[   common/pkg/diagkit/gather/diagnose/network.go:34 +0xd9
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x100d5bbc0)
[   common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x100d5bbc0)
[   common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0x2?, 0x100d5bbc0)
[   common/pkg/diagkit/gather/diagnose/run.go:142 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x100d5bbc0, 0xc000595720)
[   common/pkg/diagkit/gather/diagnose/run.go:151 +0x87
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x100d5bd40, 0xc000595720)
[   common/pkg/diagkit/gather/diagnose/run.go:148 +0x52
[common/pkg/diagkit/gather/diagnose.walkOnce(0x10070dba0?, 0xc00061f888)
[   common/pkg/diagkit/gather/diagnose/run.go:137 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x100d5bd40, 0x0?, {0xc00061fb18, 0x1, 0x1})
[   common/pkg/diagkit/gather/diagnose/run.go:16 +0x1d4
[main.checkCmd({0xc0000d2010?, 0x6?, 0x4?}, {0x0, 0x0})
[   common/cmd/com.docker.diagnose/main.go:133 +0x105
[main.main()
[   common/cmd/com.docker.diagnose/main.go:99 +0x2a7
[2023-02-07T01:14:12.515837000Z][com.docker.diagnose][I] (13c27da4) d2a008ab-diagnose-network C->S diagnosticsd POST /check-network-connectivity: {"ips":["192.168.108.202","192.168.2.1","128.18.162.168"]}
[2023-02-07T01:14:13.044117000Z][com.docker.diagnose][W] (13c27da4) d2a008ab-diagnose-network C<-S 63532666-diagnosticsd POST /check-network-connectivity (528.504967ms): failed to ping host: exit status 1

[SKIP] DD0030: is the image access management authorized?
[FAIL] DD0019: is the com.docker.vmnetd process responding? failed to ping vmnetd with error: failed to connect to /var/run/com.docker.vmnetd.sock: is vmnetd running?: dial unix /var/run/com.docker.vmnetd.sock: connect: no such file or directory
[PASS] DD0033: does the host have Internet access?
[PASS] DD0018: does the host support virtualization?
[PASS] DD0001: is the application running?
[PASS] DD0017: can a VM be started?
[PASS] DD0016: is the LinuxKit VM running?
[PASS] DD0011: are the LinuxKit services running?
[PASS] DD0004: is the Docker engine running?
[PASS] DD0015: are the binary symlinks installed?
[PASS] DD0031: does the Docker API work?
[WARN] DD0032: do Docker networks overlap with host IPs? network general-issueswiki_default has subnet 192.168.0.0/20 which overlaps with host IP 192.168.2.1

Please note the following 1 warning:

1 : The check: do Docker networks overlap with host IPs?
    Produced the following warning: network general-issueswiki_default has subnet 192.168.0.0/20 which overlaps with host IP 192.168.2.1

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 2 issues:

1 : The test: is the VM networking working?
    Failed with: network checks failed: failed to ping host: exit status 1

VM seems to have a network connectivity issue. Check your host firewall and anti-virus settings in case they are blocking the VM.

2 : The test: is the com.docker.vmnetd process responding?
    Failed with: failed to ping vmnetd with error: failed to connect to /var/run/com.docker.vmnetd.sock: is vmnetd running?: dial unix /var/run/com.docker.vmnetd.sock: connect: no such file or directory

The com.docker.vmnetd process is needed to create symlinks for CLIs in your path.

Steps to reproduce the behavior

  1. Install Docker Desktop 4.15
  2. Click update to latest version
  3. Upgrade is performed, Docker does not start
  4. In finder /Applications/Docker.app shows an icon for the application indicating unsupported binary.
  5. Double clicking to start, presents a dialog stating Application version is unsupported.
RandyMcMillan commented 1 year ago

Confirming: Docker.app 4.15.0 (93002) works on MacOS Catalina 10.15.7 (19H2026)