I have two windows machines Machine A, Machine B running Windows 10 with Hyper-V. Both machine A & B are on the same network.
On Machine B I install docker using the Windows installer. I pull an image and then run it with:
docker run -p 1337:1337 --name my-image
On machine B I can then access the http end point that is exposed by opening a browser window to http://127.0.0.1:1337
.
However I cannot seem to open that same http end point from machine A with:
http://machineA.ip.address:1337
There is no firewall between machine A and B.
Clearly I have a NAT problem between machine A and B when it comes to accessing the docker container on Machine B.
How do I access the HTTP end point exposed by the docker container running on Machine B from Machine A?
You have to expose docker guest port of container to bind it with host port.
$ docker run -p 0.0.0.0:1337:1337 --name my-image
Above command will bind it with all the network-interfaces.
If you want you can restrict access to specific network-interface by specific it's IP address.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With