Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to connect to a docker container running on a remote host

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?

like image 940
TheEdge Avatar asked Sep 06 '25 03:09

TheEdge


1 Answers

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.

like image 95
fly2matrix Avatar answered Sep 07 '25 21:09

fly2matrix