Provisioned for Docker V2 plugin on multiple architectures, blocked CHECKPOINT, updated docs

This commit is contained in:
Raj Chaudhuri committed 2024-04-09 19:01:34 +05:30
1 parent c3cc2107c6
commit 78f596fbda
24 files changed
+191 -80

No files matched your search

@@ -8,7 +8,7 @@ search_type: Documentation
The Weave Net legacy plugin actually provides *two* network drivers to Docker -
one named `weavemesh` that can operate without a cluster store and another one
named `weave` that can only work with one (like Docker's overlay driver), while
the V2 plugin provides *one* - `weaveworks/net-plugin:latest_release`
the V2 plugin provides *one* - `rajchaudhuri/net-plugin:latest_release-<architecture>`
operating only in swarm mode.
### weavemesh driver
@@ -41,7 +41,7 @@ The plugin accepts the following options via `docker network create ... --opt`:
network created when the plugin is first launched has the multicast
option turned on, but for any networks you create it defaults to off.
### weaveworks/net-plugin:latest_release driver
### rajchaudhuri/net-plugin:latest_release-&lt;architecture> driver
* The driver runs within the plugin V2.
* Requires Docker to run in [swarm mode](https://docs.docker.com/engine/swarm/swarm-mode/).
+30 -7
View File
@@ -19,7 +19,23 @@ mode and requires Docker version 1.13 or later.
To install the plugin run the following command on _each_ host already
participating in a Swarm cluster, i.e. on all master and worker nodes:
$ docker plugin install weaveworks/net-plugin:latest_release
$ docker plugin install rajchaudhuri/net-plugin:latest_release-<architecture>
Here, &lt;architecture> is the processor architecture on which your Docker Engine runs.
It is a necessary part of the plugin name, because Docker currently does not support
multi-architecture plugins. The Weave Net Plugin V2 is available for the following
architectures:
* amd64
* arm
* arm64
* ppc64le
* s390x
You can use the following commands to install the plugin appropriate to your architecture:
$ ARCH=$(docker version -f '{{.Server.Arch}}')
$ docker plugin install rajchaudhuri/net-plugin:latest_release-$ARCH
Docker will pull the plugin from Docker Store, and it will ask to grant
privileges before installing the plugin. Afterwards, it will start `weaver`
@@ -29,7 +45,7 @@ process which will try to connect to Swarm masters running Weave Net.
There are several configuration parameters which can be set with:
$ docker plugin set weaveworks/net-plugin:latest_release PARAM=VALUE
$ docker plugin set rajchaudhuri/net-plugin:latest_release-$ARCH PARAM=VALUE
The parameters include:
@@ -49,31 +65,38 @@ The parameters include:
Before setting any parameter, the plugin has to be disabled with:
$ docker plugin disable weaveworks/net-plugin:latest_release
$ docker plugin disable rajchaudhuri/net-plugin:latest_release-$ARCH
To re-enable the plugin run the following command:
$ docker plugin enable weaveworks/net-plugin:latest_release
$ docker plugin enable rajchaudhuri/net-plugin:latest_release-$ARCH
### <a name="usage"></a>Running Services or Containers Using the Plugin
After you have launched the plugin, you can create a network for Docker Swarm
services by running the following command on any Docker Swarm master node:
$ docker network create --driver=weaveworks/net-plugin:latest_release mynetwork
$ docker network create --driver=rajchaudhuri/net-plugin:latest_release-$ARCH mynetwork
Or you can create a network for any Docker container with:
$ docker network create --driver=weaveworks/net-plugin:latest_release --attachable mynetwork
$ docker network create --driver=rajchaudhuri/net-plugin:latest_release-$ARCH --attachable mynetwork
To start a service attached to the network run, for example:
$ docker service create --network=mynetwork ...
Or to start a container:
To ensure that name resolution (service discovery) works as expected, do one of the following:
* Include `--endpoint-mode=dnsrr` while creating a service. This will correctly resolve the service name to the load-balanced IP address of one of the task containers.
* OR, include `--hostname=SOMENAME` while creating a servce. This will also resolve `SOMENAME` to the load-balanced IP address of one of the task containers.
To start a container:
$ docker run --network=mynetwork ...
This does not require a `--hostname` option. The container name and any network aliases will correctly resolve to the container's IP address.
**See Also**
* [Integrating Docker via the Network Plugin (Legacy)]({{ '/install/plugin/plugin' | relative_url }})
+5 -5
View File
@@ -20,7 +20,7 @@ See [Launching Weave Net]({{ '/install/using-weave#peer-connections' | relative_
After you've launched Weave Net and peered your hosts, you can start containers using the following, for example:
$ docker run --net=weave -ti weaveworks/ubuntu
$ docker run --net=weave -ti alpine:latest
on any of the hosts, and they can all communicate with each other
using any protocol, even multicast.
@@ -29,8 +29,8 @@ In order to use Weave Net's [Service Discovery]({{ '/tasks/weavedns/weavedns' |
must pass the additional arguments `--dns` and `-dns-search`, for
which a helper is provided in the Weave script:
$ docker run --net=weave -h foo.weave.local $(weave dns-args) -tdi weaveworks/ubuntu
$ docker run --net=weave -h bar.weave.local $(weave dns-args) -ti weaveworks/ubuntu
$ docker run --net=weave -h foo.weave.local $(weave dns-args) -tdi alpine:latest
$ docker run --net=weave -h bar.weave.local $(weave dns-args) -ti alpine:latest
# ping foo
@@ -43,11 +43,11 @@ Just launch the Weave Net router onto each host and make a peer connection with
then run your containers using the Docker command-line:
host1$ docker run --net=weave -ti weaveworks/ubuntu
host1$ docker run --net=weave -ti alpine:latest
root@1458e848cd90:/# hostname -i
10.32.0.2
host2$ docker run --net=weave -ti weaveworks/ubuntu
host2$ docker run --net=weave -ti alpine:latest
root@8cc4b5dc5722:/# ping 10.32.0.2
PING 10.32.0.2 (10.32.0.2) 56(84) bytes of data.