-
Notifications
You must be signed in to change notification settings - Fork 121
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error: getaddrinfo EAI_AGAIN host.docker.internal after upgrade to 4.17.0 #6747
Comments
possibly #6699? |
It sounds related to the changes in #6699 but probably slightly different. Is the problem only with |
I'm seeing the same issue with any host. So not |
From within the container if I run |
We have multiple users (MacOS 13.2.1) running into a similar issue after upgrading to 4.17--4.16.2 doesn't have this problem. docker run -it --rm curlimages/curl curl https://www.google.com/curl: (60) SSL certificate problem: unable to get local issuer certificate curl failed to verify the legitimacy of the server and therefore could not |
I have the problem, since I'm using the dev builds from here #6699 (comment) (switching to stable 4.17 doesnt resolve the issue) I do have same problem after some amount of time. Restart Docker Desktop help me to resolve the some for some time. |
I have the same issue on a mac. Restarting does not solve it. I had to downgrade to 4.16 |
and as @wpline says, for me it is an ssl certificate error. But it's not just curl, it's any http calls from within a container. Given that this works in 4.16.2 and stopped working in 4.17.0, is it a bug? Or was it an intentional breaking change in 4.17? I looked through the change log but didn't see what would have caused this. I can downgrade to 4.16.2 to resolve it but in a few minutes docker desktop will force me to upgrade again :( |
Same problem for me... |
I'm experiencing the same issue on my mac, but mine is on Apple Silicon, not Intel. |
@axiopisty This is an open issue, try downgrading. work like a charm. |
Downgrade doesnt work for me, because I'm hitting #6699 |
I'm running Docker Desktop 4.17.0 on Apple M1. docker-mac-net-connect's Brew service was failing due to DNS resolution:
and I saw the same error as @nanek when curling Google. DNS resolution inside containers was broken. chipmk/docker-mac-net-connect#19 (comment) gave me the idea to try changing the Docker subnet in case there's something that only gets initialised once. I set it to That fixed DNS resolution inside containers, and docker-mac-net-connect. Everything works now. 😃 |
How long you test this? Restart Docker Desktop fixes this issues temporarily. Changing the CIDR would restart Docker. |
Not very long - hours, including one reboot.
Restarting Docker Desktop hasn't worked for me, not even temporarily. 🤷 I hope it keeps working, but a repeatable workaround would already be a great improvement. EDIT: Wow, it randomly died right after I sent this^. 😢 The WireGuard tunnel stopped responding, and DNS also started timing out.
Restarting Docker Desktop (followed by docker-mac-net-connect) did work this time. 🤔 |
To get deeper into this, I debug the linux vm while I was not able to resolve DNS anymore. I could figure out that the issue needs to be on the libc resolver. Direct DNS lookup are working fine while program like wget does work. I also download a static curl binary to avoid any issues with busybox resolver. but the issues still exists. Then i started tcpdump on background to capture the DNS traffic. here are the results:
It seems like if curl (or the preinstalled wget) is trying to resolve the hostname through libc the DNS queries are visible and successful. But something in between the DNS answer and the executing program wont work here. |
Restarting docker desktop hasn't been working for me either to fix this issue. However, updating the subnet did work for a few hours and just now started failing again. |
Confirmed that the issue appears to still be manifesting on the newer 4.18.0 release. Receiving this sporadically after clean/purging the VM's data and executing a
Executing the build repeatedly until it succeeds is a working but an inefficient solution. |
Confirming this is still an issue with 4.21, getting cert errors while installing libraries that can only be resolved by downgrading to 4.16 (I wouldn't be surprised if a certain Zscaler SSL proxying is tied into it). Is there a plan to fix this, or if not, any guidance on what changes to make to accommodate newer versions? |
To be clear since I've only seen this mentioned once in the most recent comment by @charginghawk : this seems to especially impact organizations using Docker behind Zscaler. |
A coworker smartly suggested this as the root cause from the Docker 4.17 release notes:
ZScaler uses a .pac file hosted locally to configure the proxy like so 127.0.0.1:9000/localproxy-723ce0fc.pac |
Expected behavior
host.docker.internal should resolve
Actual behavior
host.docker.internal does not resolve
Information
This problem is new. After upgrading to 4.17.0, I'm having issues sending UDP request to host.docker.internal. After downgrading back to 4.16.2, it works again as expected.
Output of
/Applications/Docker.app/Contents/MacOS/com.docker.diagnose check
[2023-03-02T20:37:30.078466000Z][com.docker.diagnose][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] 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] 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?
[SKIP] DD0030: is the image access management authorized?
[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?
[PASS] DD0032: do Docker networks overlap with host IPs?
No fatal errors detected.
The text was updated successfully, but these errors were encountered: