Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to send http request from Docker to localhost or Virtual Machine

Being new to Docker and VM's, I have run into a blocker. I have a node app that needs to send a POST request from a Docker container to a Virtual Machine or to my local machine.

I have read through the Docker documentation, but still don't understand what I need to do in order to accomplish this.

So how can I send an http request from my node app running in a Docker Container to my Vagrant Box?

like image 571
hyprstack Avatar asked Jul 03 '15 13:07

hyprstack


1 Answers

By default, Docker creates a virtual interface (docker0) in your host machine with IP 172.17.42.1. Each of the container launched will have an IP of the network 172.17.42.1/16, and they will be able to connect to host machine connecting to IP 172.17.42.1.

If you want to connect a docker container with another service running in a virtual machine running with other provider (e.g.: virtualbox, vmware), the easiest way is forwarding the ports needed by the service to you host machine and then, from your docker container, connecting to IP 172.17.42.1. You should check your virtual machine provider documentation to see details about this. And if you are using libvirt/KVM (or with any other provider), you can use iptables to enable port forwarding.

like image 129
Javier Cortejoso Avatar answered Nov 04 '22 13:11

Javier Cortejoso