When containers are created via the Weave Net proxy, their entrypoint is modified to wait for the Weave network interface to become available.
When they are started via the Weave Net proxy, containers are automatically assigned IP addresses and connected to the Weave network.
Creating and Starting Containers with the Weave Net Proxy
To create and start a container via the Weave Net proxy run:
host1$ docker run -ti weaveworks/ubuntu
or, equivalently run:
host1$ docker create -ti --name=foo weaveworks/ubuntu host1$ docker start foo
Specific IP addresses and networks can be supplied in the
environment variable, for example:
host1$ docker run -e WEAVE_CIDR=10.2.1.1/24 -ti weaveworks/ubuntu
Multiple IP addresses and networks can be supplied in the
variable by space-separating them, as in
Returning Weave Network Settings Instead of Docker Network Settings
The Docker NetworkSettings (including IP address, MacAddress, and
IPPrefixLen), are still returned when
docker inspect is run. If you want
docker inspect to return the Weave NetworkSettings instead, then the
proxy must be launched using the
This command substitutes the Weave network settings when the container has a Weave Net IP. If a container has more than one Weave Net IP, then the inspect call only includes one of them.
host1$ weave launch --rewrite-inspect
Multicast Traffic and Launching the Weave Proxy
By default, multicast traffic is routed over the Weave network.
To turn this off, for example, because you want to configure your own multicast
route, add the
--no-multicast-route flag to
Other Weave Proxy options
--without-dns– stop telling containers to use WeaveDNS
--log-level=debug|info|warning|error– controls how much information to emit for debugging
--no-restart– remove the default policy of
--restart=always, if you want to control start-up of the proxy yourself
Disabling Weave Proxy
If for some reason you need to disable the proxy, but still want to start other Weave Net components (router, weaveDNS), you can do so using:
weave launch --proxy=false