Weave application networks can be integrated with an external host network, establishing connectivity between the host and with application containers running anywhere.
For example, returning to the netcat example, you’ve now decided that you need to have the application containers that are running on
$HOST2 accessible by other hosts and containers.
host2$ weave expose 10.2.1.132
This command grants the host access to all of the application containers in the default subnet. An IP address is allocated by Weave Net especially for that purpose, and is returned after running
Now you are able to ping the host:
host2$ ping 10.2.1.132
And you can also ping the
a1 netcat application container residing on
host2$ ping $(weave dns-lookup a1)
Exposing Multiple Subnets
Multiple subnet addresses can be exposed or hidden using a single command:
host2$ weave expose net:default net:10.2.2.0/24 10.2.1.132 10.2.2.130 host2$ weave hide net:default net:10.2.2.0/24 10.2.1.132 10.2.2.130
Adding Exposed Addresses to weaveDNS
Exposed addresses can also be added to weaveDNS by supplying fully qualified domain names:
host2$ weave expose -h exposed.weave.local 10.2.1.132
Routing from Another Host
weave expose, you can use Linux routing to provide
access to the Weave network from hosts that are not running Weave Net:
ip route add <network-cidr> via <exposing-host>
<network-cidr>is an IP address range in use on Weave Net, for example,
<exposing-host>is the address of the machine on which you ran
Note: You must ensure that the IP subnet used by Weave Net does not clash with anything on those other hosts.