node.js - Docker machine / Docker link returns different container IP on Digital Ocean -


i created droplet on digitalocean using docker machine.

when running 2 containers , linking them way jenkins:

/bin/bash/eval "$(docker-machine env deployment)" /bin/bash -c "docker run -d -t --name container1 -p 5000:5000 image1" /bin/bash -c "docker run -d -t --name container2 -p 5001:5001 --link container1:container1 image2" 

and docker inspect container1 | grep "ipaddress" 172.17.0.51. when run node.js application in container2 calls process.env.container1_port_5000_tcp_addr resolves 172.17.0.7:5000 when call container2 public ip (of droplet) causes return no route host.

when exec container2 , run node process.env.container1_port_5000_tcp_addr returns 172.17.0.51.

if ssh host using user, docker inspect container2 | grep "ipaddress" returns 172.17.0.52 instead of 172.17.0.51.

why node.js application return wrong ip address whereas running node.js on command line returns different , correct ip address?

update: if run containers locally on jenkins machine without docker-machine , do, works fine.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -