How to communicate with docker container in weave?

what I have done:

[spdocker@codebrag02 ~]$ weave launch
[spdocker@codebrag02 ~]$ weave env
export DOCKER_HOST=unix:///var/run/weave/weave.sock ORIG_DOCKER_HOST=
[spdocker@codebrag02 ~]$ eval $(weave env)

[spdocker@codebrag02 ~]$ weave run -idt --name hostA ubuntu bash
[spdocker@codebrag02 ~]$ weave run -idt --name hostB ubuntu bash
[spdocker@codebrag02 ~]$ docker exec -it 19c bash
root@hostA:/# ping hostB
PING hostB.weave.local ( 56(84) bytes of data.
64 bytes from hostB.weave.local ( icmp_seq=1 ttl=64 time=0.096 ms
64 bytes from hostB.weave.local ( icmp_seq=2 ttl=64 time=0.061 ms
64 bytes from hostB.weave.local ( icmp_seq=3 ttl=64 time=0.075 ms
--- hostB.weave.local ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.061/0.077/0.096/0.016 ms
root@hostA:/# [spdocker@codebrag02 ~]$ 
[spdocker@codebrag02 ~]$ ping hostA.weave.local
ping: unknown host hostA.weave.local
[spdocker@codebrag02 ~]$ ping hostB.weave.local
ping: unknown host hostB.weave.local
[spdocker@codebrag02 ~]$ 

I have start weave service, and start 2 docker container, hostA and hostB. HostA ping succeed to hostB, but can I ping hostA.weave.local from the DOCKER HOST ?

  • Jenkins deploying war file to tomcat docker container
  • Host Volumes Not getting mounted on 'Docker-compose up'
  • Docker echo to /etc/hosts not working
  • Why is this refresh token request to returning a 404?
  • docker commit influxdb - no changes in result image
  • Docker 1.7 consuming more space than Docker 1.5 for images
  • Docker Socket Without TLS
  • Deploying Docker images from Gitlab's private Docker registry to Openshift
  • FileNotFoundException in tomcat7 running inside a ubuntu docker container
  • Link docker container with host
  • I thought I understood Docker until I saw the BusyBox docker image
  • docker build is not work
  • One Solution collect form web for “How to communicate with docker container in weave?”

    I think you are asking for the container hostname to resolve from the outer host. To make this happen, you need to change your host’s DNS resolver to point at Weave’s DNS resolver. You can see its address with weave dns-args (this is formatted for use in docker run, but it’s not too cryptic)

    Exactly how to modify your host’s DNS resolver depends on the OS of your host.

    There are some other nuances that may be important; could you say a bit more about what you are trying to achieve at a higher level?

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.