Weave Net creates a virtual network that connects Docker containers across multiple hosts and enables their automatic discovery. With Weave Net, portable micro-services based applications consisting of multiple containers can run anywhere: on one host, multiple hosts or even across cloud providers and data centers.
Weave net is connecting docker containers running anywhere: on one host, multiple host or even cross cloud provider and data centers via virtual network.Applications use the network just as if the containers were all plugged into the same network switch, without having to configure port mappings, ambassadors or links.
Weave network use standard port numbers, for example 3306 for MySql. Every container can find the IP of any other container using a simple DNS query (a “micro DNS” server runs on each host) on the container’s name, and it can also communicate directly without NAT, without any extra configuration.
Weave uses industry-standard VXLAN encapsulation between hosts. This means you can continue using your favorite packet analyzing tools, such as ‘Wireshark’ to inspect and troubleshoot protocols.
Weave Net can forward traffic between nodes, and it works even if the mesh network is only partially connected. This means that you can have a mix of legacy systems and containerized apps and still use Weave Net to keep everything in communication.
Weave Net traverses firewalls without requiring a TCP add-on. You can encrypt your traffic, which allows you to connect to apps on hosts even across an untrusted network.
Install weave by running following commands
On both host machine
sudo curl -L git.io/weave -o /usr/local/bin/weave sudo chmod a+x /usr/local/bin/weave
host1$ weave launch host1$ eval $(weave env)
host2$ weave launch $host1 (IP/hostname of host 1) host2$ eval $(weave env)
host1$ docker run --name container1 -ti ubuntu:trusty host2$ docker run --name container2 -ti ubuntu:trusty
host1$ ping container2 host2$ ping container1