How to access services running on your machine from your broker running in Docker
Do you need to access your local machine's network from inside your broker running on Docker?
For instance, I wanted to create a REST endpoint so I could send some data from an RDP in a broker running in Docker. The problem is that you can't use
For example, if I start my REST endpoint at port 9010 on my local machine, I can do
telnet localhost 9010
And everything works fine.
However, from a Docker container (in this case an Ubunutu image), life is not so good:
container# telnet localhost 9010
telnet: Unable to connect to remote host: Cannot assign requested address
localhost is local to the container.
So I need to identifiy the local machine's network to the container. It's pretty simple, instead of using localhost short cuts, just specify your machine's IP address:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.28.138.196 netmask 255.255.240.0 broadcast 172.28.143.255
container# telnet 172.28.138.196 9010
Connected to 172.28.138.196.
So now I can just set my RDP Rest Consumer to send to 172.28.138.196.