Docker: Client.Timeout exceeded while awaiting headers

  dns, docker, windows, windows-10

I started having connections errors with Docker on Windows 10. I didn’t use Docker for few months so there were couple of updates and changes in configuration, which possibly could cause this effect.

Error message

Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Example commands that raise the error

docker login

docker run hello-world


Details

More information

  • I don’t use proxy.
  • Docker v20.10.2.
  • Windows 10 Pro.
  • Docker has WSL 2 based engine enabled using Ubuntu 20.4 distro.
  • In ‘Turn Windows feature on or off’ ‘Hyper-V’ and ‘Windows subsystem for Linux’ is enabled.
  • In Windows Defender firewall mDNS service, HNS Container Networking, DNS Server Forward Rules, DockerProxy, Hyper-V and Hyper-V clients are enabled for private and public networks. Hyper-V
    replicas for HTTP and HTTPS are disabled.

What I’ve tried so far

  • manual DNS configuration enabled and fixed DNS ip 8.8.8.8 typed in Docker Desktop (I’ve also tried 8.8.4.4),
  • same as above, but instead of 8.8.8.8 and 8.8.4.4 I tried also 208.67.222.222 and 208.67.220.220 (OpenDNS),
  • manual DNS configuration disabled,
  • reinstall Docker Desktop,
  • reset Docker to factory defaults,
  • restart Docker,
  • try to explicitly set the maximum transfer unit to 1500 (with "network-control-plane-mtu": 1500),
  • increase the timeout time ("shutdown-timeout": 30),
  • set DNS server to 8.8.8.8 and 8.8.4.4 in IPv4 in properties of each connection in Network connections,
  • as above but also disable IPv6.

What seems particular about my case

There are plenty of similar questions on the net, but I noticed that both my Hyper-V Virtual Ethernet Adapters – both vEthernet Default Switch and vEthernet (WSL) – have ‘no network connection’ message. This regards IPv4 and IPv6. When I ping those IPs, I receive

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

After system restart, both adapters empty IPv4 DNS servers fields.

Is this ok?

docker info produces the following warnings:

WARNING: No blkio weight_device support
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

Question

How can I debug or at least troubleshoot this issue further? Any point to a right direction would be appreciated.

Source: Windows Questions

LEAVE A COMMENT