Error starting userland proxy: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions

The Docker Desktop for Windows community forum is place where users can meet and discuss Docker Desktop for Windows and related technologies.
If you encounter problems with Docker for Windows, we recommend:

Finally, if your issue has not been addressed elsewhere, running:

  • :whale: :arrow_right: Settings :arrow_right: Diagnose & Feedback :arrow_right: Open Issues.

This forum is not an official product support or issue reporting channel.

I’m getting the following error: docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint webserver (51d30fe16e368770904f7f28e624f78c9835f53c3b11188caf7504932a8c1c7f): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

Did you get the solution for this issues ?

Yes. I had installed docker on ubuntu while running ubuntu virtually on windows. Hence, I uninstalled that and installed Docker on Windows and established the connectivity. Also, after successful installation on windows, Docker -> Settings -> General -> Expose daemon on tcp://localhost:2375 without TLS. Enable this setting. Also perform all the installation operations using root access.

1 Like

so what your saying is this doesn’t work on windows 10?

For the same error that ends with "image "

Running Docker - Linux Containers on Windown 10 with checkbox selected for “Expose daemon on tcp://localhost:2375 without TLS” did not resolve this error

docker start “xx” throws same error

– Assuming its the Antivirus/Firewall that’s blocking

I had the same error message, for me, I was running IIS locally on the same Windows 10 host, and had to stop that first.

8 Likes

This is because your IIS or some other server is already running on port 80.
Try this and it should work.
docker run --detach --publish 81:80 --name webserver nginx

Then in browser try http://localhost:81/

16 Likes

Hey tq…it works for me. Actually i also thought the same…bcz when i opened localhost:80…something is opened which i was generated through azure vm…

your guidance solved this issue, thanks!

Smartest suggestion in the whole thread. Worked like a charm!

In my case port 80 was occupied by IIS. What I did - just changed port for Docker instance. Turning off IIS should help either.

Worked for me. Thank you for this explanation.

This works for me! Thanks!

1 Like

I solved the usue with the comande

netsh http add iplisten ipaddress=::
14 Likes

Thank you, stop the iis resolve the problem.

Hello and thank you so much. You suggestion solved the issue.

Hello bnmd it works for me.
Thank you a lot.

Works perpect, thanks :smiley:

Worked. Not sure why no listener was running, but it is now. :slight_smile:
Thanks.

This solution solved my issue. Thanks