Docker run -d -p 80:80 httpd doesnt work?

Hi All,

I’ve poured over documentation and the forums but can’t seem to get this working. I verified, no Skype running and I have done net stop http to see what services are on port 80 and stopped them, problem still persists.

I am on Windows 10 pro, installed Docker for Windows stable, try to run docker run -d -p 80:80 httpd and I get the following…(tried uninstall and fresh install as well).

Unable to find image ‘httpd:latest’ locally
latest: Pulling from library/httpd
693502eb7dfb: Already exists
07ea63cb951e: Pull complete
e523938ce387: Pull complete
35123eac43ec: Pull complete
64b018d9be38: Pull complete
bd9836efbe75: Pull complete
ddb10b12e5d3: Pull complete
Digest: sha256:4612fba4347bd87eaeecd5c522d844f26cc4065b45eef9291277497946b7a86c
Status: Downloaded newer image for httpd:latest
04e2a7ee0b7ff85a64bcbaff7dbb6a382f67369ffdc76a0d0efa295b9faa7904
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint
objective_yonath (0b728b8748998cffa96f0efd909c7305d448099a7d16cb006c31d7296231988a): Error starting userland proxy: Bind for 0.0.0.0:80: unexpect
ed error Permission denied.

Quick update, I reformatted my computer and re-installed docker…same problem.

Try running Powershell as an Administrator and try again. If it operates like Linux, port 80 would be a privileged port to override, thus requiring Administrator level permissions.

Most likely something else on your Windows machine is already listening on port 80 or a firewall or policy is prohibiting listening on port 80. Can you try using a different port?

Hi All - thanks for the help, I fixed the problem.

Turns out Windows 10 was using port 80 for the Print Spooler service…I guess windows does this from time to time with other services as well.

This was my solution:

Thanks!