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 ?

  • XDebug: Windows + Docker + PHPStorm
  • Access apache inside ubuntu container
  • Using S3FS in a docker container ran by the mesos containerizer
  • How do we get something unique like pod id or container id in kubernetes deployment yamls
  • Why does the path command doesn't work in Docker file
  • Start a service within docker container
  • Dockerfile and Rails Error
  • Understanding different Docker components
  • Cohabitation Docker & VirtualBox on Windows
  • Pod cannot get IP in PodCIDR, get the docker ip
  • Docker swarm with consul
  • docker -P not exposing ports of application started as argument
  • 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.