Same issue, simpler case. Localhost bind used to be an experimental feature in Beta 18, now it’s default and looks like it can’t be turned off in the UI. This should be an optional feature, at least able to be disabled in UI. It’s absolutely not useful for me, I run multiple things on the local box and on docker VM that will clash. Alternatively, you could set this localhost binding/proxying up on a separate docker network somehow, and not make it default.
With a port bound on the local machine, docker containers should still be able to run and bind to the DockerNAT network (10.0.75.2). They can bind to localhost on the VM, but shouldn’t bind to localhost on the “host” by default.
`docker run -d -p 80:80 --name test-nginx nginx
docker: Error response from daemon: driver failed programming external connectivity on endpoint test-nginx (bb9932036017e6240fb29e6fb41362816850edc54d33c5eb6ea073632a8a245d): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error Unix.Unix_error(Unix.EACCES, “bind”, “”).
Running Docker for Windows beta 20 build 5779.
Windows 10 Pro 1511
This version defaults to localhost binding. Same command was without issue on older beta 18.
Steps to reproduce the behavior
docker run -d -p 80:80 --name test-nginx nginx