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
Post a Comment