Host Windows 10 cannot acces container older angular app

I have an aged angular application, it works fine but as for current there is no easy route to upgrade it.
As i don’t want to give up my develop environment (we need to maintain this app).
I set up a docker environment from scratch on windows 10.
My plan is to slowly migrate this large app within docker where we can easily fallback if upgrades fails.
(making use of docker commit command at the many stages we need)

I started from a ‘naked’ ubuntu scratch as I couldn’t find a good starting point due to my various project dependencies.

Installation steps:

  • At first I (re)installed WLS2 Ubuntu (originally it alpine linux which i didn’t want anyway).
  • Next i installed Docker let it make use of WSL during installation
  • I created an image of Ubuntu (latest version)
  • Then i installed nvm, node, and our aged angular app, and all our dependencies files etc.
  • I Can build and run ng serve --host 0.0.0.0 --port 4400 --disable-host-check --live-reload
    without errors angular doesn’t report any error (i’m quite happy about that).

However I have trouble accessing it from the host (and other hosts on the network).
I’ve tried running different network starters.
docker run -ti -p4400:4400 myproject /bin/bash
docker run -ti host myproject /bin/bash

after the shell runs i browse to my website and type that ng serve command
but i cannot access it outside the container.

I would have thought that Docker would be smart enough to publish the ports of its container to windows firewall. Isnt this quite essentially, one would think if you publish some container service ?.

Well apparently despite its name docker for windows desktop.
Such common networking actions are not included.

So you need to open ports on your firewall or disable your firewall