I have installed Docker Desktop 4.15.0 (93002) on Windows 10 Enterprise 22H2 (19045.2251) running on a VSphere 7.0.3C Host with Nested Virtualization Enabled:
VMWare DVS Port Group has MAC Learning Enabled + Promiscuous Mode, MAC Changes, and Forged Transmits Enabled.
The Windows VM has WSL2 installed / HyperV Role installed / and the WSL Update patch installed.
I have pulled and launched a NGINX and base UBUNTU 18.04 and UBUNTU 22.04 container images and successfully launched them.
*Prior to upgrading Docker Desktop to 4.15.0 (while on 4.14.x) we could not get any outbound traffic from the containers to the internet or network; ping failed, apt update failed, etc… complete outbound traffic failure;
*After upgrading Docker Desktop to 4.15.0 outbound traffic began partially working; By partially working I mean the following;
APT update / installs - WORKING
CURL -Is www.google.com - returns HTTP 200 response OK
PING 172.17.0.1 (gateway for docker bridge network) - WORKING
PING ANY OTHER IP OR HOSTNAME - FAILURE - SITS at first ping indefinitely, cancel shows all pings failed 100%
TRACEROUTE - Not working
SQL Tools SQLCMD connect to local SQL instances - FAIL;
How is it that I can get out of the container to the internet and web sites successfully, but basically everything else fails?
I have added rules to the local Windows VM Host’s Firewall for ANY/ANY inbound and outbound to rule out firewall issue;
Given that it didn’t work at all with Docker Desktop 4.14.x, and is working only partially with Docker Desktop 4.15.0; Is it safe to say that Docker Desktop for Windows is broken?
Docker Diag Check Output Here:
PS C:\Program Files\Docker\Docker\resources> .\com.docker.diagnose.exe check
[2022-12-07T01:16:54.461814800Z][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?
[PASS] DD0029: is the WSL 2 Linux filesystem corrupt?
[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?
[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] DD0005: is the user in the docker-users group?
[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?
[FAIL] DD0012: is the VM networking working? network checks failed: failed to ping host: exit status 1
[2022-12-07T01:17:01.449350800Z][com.docker.diagnose.exe][I] ipc.NewClient: ee53e5d6-diagnose-network → \.\pipe\dockerDiagnosticd diagnosticsd
[common/pkg/diagkit/gather/diagnose.runIsVMNetworkingOK()
[ common/pkg/diagkit/gather/diagnose/network.go:34 +0xd9
[common/pkg/diagkit/gather/diagnose.(*test).GetResult(0x1be4340)
[ common/pkg/diagkit/gather/diagnose/test.go:46 +0x43
[common/pkg/diagkit/gather/diagnose.Run.func1(0x1be4340)
[ common/pkg/diagkit/gather/diagnose/run.go:17 +0x5a
[common/pkg/diagkit/gather/diagnose.walkOnce.func1(0x2?, 0x1be4340)
[ common/pkg/diagkit/gather/diagnose/run.go:142 +0x77
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x1, 0x1be4340, 0xc0003f9728)
[ common/pkg/diagkit/gather/diagnose/run.go:151 +0x87
[common/pkg/diagkit/gather/diagnose.walkDepthFirst(0x0, 0x1be4940, 0xc0003f9728)
[ common/pkg/diagkit/gather/diagnose/run.go:148 +0x52
[common/pkg/diagkit/gather/diagnose.walkOnce(0x1582c80?, 0xc00025f890)
[ common/pkg/diagkit/gather/diagnose/run.go:137 +0xcc
[common/pkg/diagkit/gather/diagnose.Run(0x1be4940, 0xe1c159f500000010?, {0xc00025fb20, 0x1, 0x1})
[ common/pkg/diagkit/gather/diagnose/run.go:16 +0x1d4
[main.checkCmd({0xc0000923b0?, 0xc0000923b0?, 0x4?}, {0x0, 0x0})
[ common/cmd/com.docker.diagnose/main.go:133 +0x105
[main.main()
[ common/cmd/com.docker.diagnose/main.go:99 +0x287
[2022-12-07T01:17:01.449350800Z][com.docker.diagnose.exe][I] (fae191ed) ee53e5d6-diagnose-network C->S diagnosticsd POST /check-network-connectivity: {“ips”:[“10.9.145.168”,“172.17.128.1”,“172.23.224.1”]}
[2022-12-07T01:17:02.008247200Z][com.docker.diagnose.exe][W] (fae191ed) ee53e5d6-diagnose-network C<-S 2e1314ad-diagnosticsd POST /check-network-connectivity (558.8835ms): failed to ping host: exit status 1
[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?
[PASS] DD0029: is the WSL 2 Linux filesystem corrupt?
[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?
[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 bridge has subnet 172.17.0.0/16 which overlaps with host IP 172.17.128.1
Please note the following 1 warning:
1 : The check: do Docker networks overlap with host IPs?
Produced the following warning: network bridge has subnet 172.17.0.0/16 which overlaps with host IP 172.17.128.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 Compose file version 2 reference | Docker Documentation
Please investigate the following 1 issue:
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.