diff --git a/site/faq.md b/site/faq.md index 77a3a5e0..51ffcf4e 100644 --- a/site/faq.md +++ b/site/faq.md @@ -91,6 +91,14 @@ You must permit traffic to flow through TCP 6783 and UDP 6783/6784, which are Weave’s control and data ports. +**Q: Why do you use your own Docker image `weaveworks/ubuntu`?** + +The official Ubuntu image does not contain the `ping` and `nc` +commands which are used in many of our examples throughout the +documentation. The `weaveworks/ubuntu` image is simply the official +Ubuntu image with those two commands added. + + **See Also** * [Troubleshooting Weave](/site/troubleshooting.md) diff --git a/site/features.md b/site/features.md index 1bd1de34..2c48ab03 100644 --- a/site/features.md +++ b/site/features.md @@ -81,7 +81,7 @@ See [Using the Weave Docker API Proxy](/site/weave-docker-api/using-proxy.md). Weave Net can also be used as a [Docker plugin](https://docs.docker.com/engine/extend/plugins_network/). A Docker network named `weave` is created by `weave launch`, which is used as follows: - $ docker run --net=weave -ti ubuntu + $ docker run --net=weave -ti weaveworks/ubuntu Using the Weave plugin enables you to take advantage of [Docker's network functionality](https://docs.docker.com/engine/extend/plugins_network/). @@ -119,8 +119,8 @@ For a discussion on how Weave Net uses IPAM, see [Automatic IP Address Managemen Named containers are automatically registered in [weaveDNS](/site/weavedns.md), and are discoverable by using standard, simple name lookups: - host1$ docker run -dti --name=service ubuntu - host1$ docker run -ti ubuntu + host1$ docker run -dti --name=service weaveworks/ubuntu + host1$ docker run -ti weaveworks/ubuntu root@7b21498fb103:/# ping service WeaveDNS also supports [load balancing](/site/weavedns/load-balance-fault-weavedns.md), [fault resilience](/site/weavedns/load-balance-fault-weavedns.md) and [hot swapping](/site/weavedns/managing-entries-weavedns.md). diff --git a/site/ipam/allocation-multi-ipam.md b/site/ipam/allocation-multi-ipam.md index 99e146d0..351ca1b3 100644 --- a/site/ipam/allocation-multi-ipam.md +++ b/site/ipam/allocation-multi-ipam.md @@ -15,13 +15,13 @@ allocation of an address from a particular subnet, set the `WEAVE_CIDR` environment variable to `net:` when creating the container, for example: - host1$ docker run -e WEAVE_CIDR=net:10.2.7.0/24 -ti ubuntu + host1$ docker run -e WEAVE_CIDR=net:10.2.7.0/24 -ti weaveworks/ubuntu You can ask for multiple addresses in different subnets and add in manually-assigned addresses (outside the automatic allocation range), for instance: - host1$ docker run -e WEAVE_CIDR="net:10.2.7.0/24 net:10.2.8.0/24 ip:10.3.9.1/24" -ti ubuntu + host1$ docker run -e WEAVE_CIDR="net:10.2.7.0/24 net:10.2.8.0/24 ip:10.3.9.1/24" -ti weaveworks/ubuntu >**Note:** The ".0" and ".-1" addresses in a subnet are not used, as required by [RFC 1122](https://tools.ietf.org/html/rfc1122#page-29)). diff --git a/site/plugin.md b/site/plugin.md index decaca47..d3c4e8dc 100644 --- a/site/plugin.md +++ b/site/plugin.md @@ -20,7 +20,7 @@ See [Using Weave Net](/site/using-weave.md#peer-connections) for a discussion on After you've launched Weave Net and peered your hosts, you can start containers using the following, for example: - $ docker run --net=weave -ti ubuntu + $ docker run --net=weave -ti weaveworks/ubuntu on any of the hosts, and they can all communicate with each other using any protocol, even multicast. @@ -31,8 +31,8 @@ In order to use Weave Net's [Service Discovery](/site/weavedns.md) you 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 ubuntu - $ docker run --net=weave -h bar.weave.local $(weave dns-args) -ti ubuntu + $ 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 # ping foo @@ -45,11 +45,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 ubuntu + host1$ docker run --net=weave -ti weaveworks/ubuntu root@1458e848cd90:/# hostname -i 10.32.0.2 - host2$ docker run --net=weave -ti ubuntu + host2$ docker run --net=weave -ti weaveworks/ubuntu root@8cc4b5dc5722:/# ping 10.32.0.2 PING 10.32.0.2 (10.32.0.2) 56(84) bytes of data. diff --git a/site/using-weave.md b/site/using-weave.md index 01de38ff..2eb55340 100644 --- a/site/using-weave.md +++ b/site/using-weave.md @@ -21,13 +21,13 @@ On `$HOST1` run: host1$ weave launch host1$ eval $(weave env) - host1$ docker run --name a1 -ti ubuntu:trusty + host1$ docker run --name a1 -ti weaveworks/ubuntu Where, * The first line runs Weave Net. * The second line configures the Weave Net environment, so that containers launched via the Docker command line are automatically attached to the Weave network, and, - * The third line runs the application container using [Docker commands](https://docs.Docker.com/engine/reference/commandline/daemon/). + * The third line runs the [application container](/site/faq.md#own-image) using [a Docker command](https://docs.docker.com/engine/reference/run/). >**Note:** If the first command results in an error like `http:///var/run/Docker.sock/v1.19/containers/create: dial unix @@ -49,7 +49,7 @@ To launch Weave Net on an additional host and create a peer connection, run the host2$ weave launch $HOST1 host2$ eval $(weave env) - host2$ docker run --name a2 -ti ubuntu:trusty + host2$ docker run --name a2 -ti weaveworks/ubuntu As noted above, the same steps are repeated for `$HOST2`. The only difference, besides the application container’s name, is that `$HOST2` is told to peer with Weave Net on `$HOST1` during launch. diff --git a/site/using-weave/application-isolation.md b/site/using-weave/application-isolation.md index a8fcb56c..374ad98f 100644 --- a/site/using-weave/application-isolation.md +++ b/site/using-weave/application-isolation.md @@ -26,13 +26,13 @@ specified. Next, launch the two netcat containers onto the default subnet: - host1$ docker run --name a1 -ti ubuntu - host2$ docker run --name a2 -ti ubuntu + host1$ docker run --name a1 -ti weaveworks/ubuntu + host2$ docker run --name a2 -ti weaveworks/ubuntu And then to test the isolation, launch a few more containers onto a different subnet: - host1$ docker run -e WEAVE_CIDR=net:10.2.2.0/24 --name b1 -ti ubuntu - host2$ docker run -e WEAVE_CIDR=net:10.2.2.0.24 --name b2 -ti ubuntu + host1$ docker run -e WEAVE_CIDR=net:10.2.2.0/24 --name b1 -ti weaveworks/ubuntu + host2$ docker run -e WEAVE_CIDR=net:10.2.2.0.24 --name b2 -ti weaveworks/ubuntu Ping each container to confirm that they can talk to each other, but not to the containers of our first subnet: @@ -54,7 +54,7 @@ Ping each container to confirm that they can talk to each other, but not to the If required, a container can also be attached to multiple subnets when it is started using: - host1$ docker run -e WEAVE_CIDR="net:default net:10.2.2.0/24" -ti ubuntu + host1$ docker run -e WEAVE_CIDR="net:default net:10.2.2.0/24" -ti weaveworks/ubuntu `net:default` is used to request the allocation of an address from the default subnet in addition to one from an explicitly specified range. diff --git a/site/using-weave/dynamically-attach-containers.md b/site/using-weave/dynamically-attach-containers.md index 322c6369..4428c5c1 100644 --- a/site/using-weave/dynamically-attach-containers.md +++ b/site/using-weave/dynamically-attach-containers.md @@ -8,13 +8,13 @@ When containers may not know the network to which they will be attached, Weave N To illustrate... - host1$ C=$(docker run -e WEAVE_CIDR=none -dti ubuntu) + host1$ C=$(docker run -e WEAVE_CIDR=none -dti weaveworks/ubuntu) host1$ weave attach $C 10.2.1.3 where, - * `C=$(docker run -e WEAVE_CIDR=none -dti ubuntu)` starts a container and assigns its ID to a variable + * `C=$(docker run -e WEAVE_CIDR=none -dti weaveworks/ubuntu)` starts a container and assigns its ID to a variable * `weave attach` – the Weave Net command to attach to the specified container * `10.2.1.3` - the allocated IP address output by `weave attach`, in this case in the default subnet diff --git a/site/using-weave/manual-ip-address.md b/site/using-weave/manual-ip-address.md index 3863edab..37731bb5 100644 --- a/site/using-weave/manual-ip-address.md +++ b/site/using-weave/manual-ip-address.md @@ -21,12 +21,12 @@ For example, we can launch a couple of containers on `$HOST1` and On `$HOST1`: - host1$ docker run -e WEAVE_CIDR=10.2.1.1/24 -ti ubuntu + host1$ docker run -e WEAVE_CIDR=10.2.1.1/24 -ti weaveworks/ubuntu root@7ca0f6ecf59f:/# And `$HOST2`: - host2$ docker run -e WEAVE_CIDR=10.2.1.2/24 -ti ubuntu + host2$ docker run -e WEAVE_CIDR=10.2.1.2/24 -ti weaveworks/ubuntu root@04c4831fafd3:/# Then test that the container on `$HOST2` can be reached from the container on `$HOST1`: diff --git a/site/weave-docker-api/automatic-discovery-proxy.md b/site/weave-docker-api/automatic-discovery-proxy.md index 3eff6720..b45219dd 100644 --- a/site/weave-docker-api/automatic-discovery-proxy.md +++ b/site/weave-docker-api/automatic-discovery-proxy.md @@ -37,7 +37,7 @@ For example, you can launch the proxy using all three flags, as follows: After launching the Weave Net proxy with these flags, running a container named `aws-12798186823-foo` without labels results in weaveDNS registering the hostname `my-app-foo` and not `aws-12798186823-foo`. - host1$ docker run -ti --name=aws-12798186823-foo ubuntu ping my-app-foo + host1$ docker run -ti --name=aws-12798186823-foo weaveworks/ubuntu ping my-app-foo PING my-app-foo.weave.local (10.32.0.2) 56(84) bytes of data. 64 bytes from my-app-foo.weave.local (10.32.0.2): icmp_seq=1 ttl=64 time=0.027 ms 64 bytes from my-app-foo.weave.local (10.32.0.2): icmp_seq=2 ttl=64 time=0.067 ms @@ -45,7 +45,7 @@ After launching the Weave Net proxy with these flags, running a container named Also, running a container named `foo` with the label `hostname-label=aws-12798186823-foo` leads to the same hostname registration. - host1$ docker run -ti --name=foo --label=hostname-label=aws-12798186823-foo ubuntu ping my-app-foo + host1$ docker run -ti --name=foo --label=hostname-label=aws-12798186823-foo weaveworks/ubuntu ping my-app-foo PING my-app-foo.weave.local (10.32.0.2) 56(84) bytes of data. 64 bytes from my-app-foo.weave.local (10.32.0.2): icmp_seq=1 ttl=64 time=0.031 ms 64 bytes from my-app-foo.weave.local (10.32.0.2): icmp_seq=2 ttl=64 time=0.042 ms diff --git a/site/weave-docker-api/ipam-proxy.md b/site/weave-docker-api/ipam-proxy.md index b0b96116..a409ab08 100644 --- a/site/weave-docker-api/ipam-proxy.md +++ b/site/weave-docker-api/ipam-proxy.md @@ -8,16 +8,16 @@ If [automatic IP address allocation](/site/ipam.md) is enabled in Weave Net (by then containers started via the proxy are automatically assigned an IP address, *without having to specify any special environment variables or any other options*. - host1$ docker run -ti ubuntu + host1$ docker run -ti weaveworks/ubuntu To use a specific subnet, you can pass a `WEAVE_CIDR` to the container, for example: - host1$ docker run -ti -e WEAVE_CIDR=net:10.32.2.0/24 ubuntu + host1$ docker run -ti -e WEAVE_CIDR=net:10.32.2.0/24 weaveworks/ubuntu To start a container without connecting it to the Weave network, pass `WEAVE_CIDR=none`, for example: - host1$ docker run -ti -e WEAVE_CIDR=none ubuntu + host1$ docker run -ti -e WEAVE_CIDR=none weaveworks/ubuntu ###Disabling Automatic IP Address Allocation @@ -33,7 +33,7 @@ Containers started with a `WEAVE_CIDR` environment variable are handled as befor To automatically assign an address in this mode, start the container with a blank `WEAVE_CIDR`, for example: - host1$ docker run -ti -e WEAVE_CIDR="" ubuntu + host1$ docker run -ti -e WEAVE_CIDR="" weaveworks/ubuntu **See Also** diff --git a/site/weave-docker-api/launching-without-proxy.md b/site/weave-docker-api/launching-without-proxy.md index a58b00c6..872eab71 100644 --- a/site/weave-docker-api/launching-without-proxy.md +++ b/site/weave-docker-api/launching-without-proxy.md @@ -7,7 +7,7 @@ menu_order: 50 If you don't want to use the proxy, you can also launch containers on to the Weave network using `weave run`: - $ weave run -ti ubuntu + $ weave run -ti weaveworks/ubuntu The arguments after `run` are passed through to `docker run`. Therefore you can freely specify whatever Docker options you need. @@ -17,14 +17,14 @@ this example, it obtains an automatically allocated IP. You can specify IP addresses manually instead: - $ weave run 10.2.1.1/24 -ti ubuntu + $ weave run 10.2.1.1/24 -ti weaveworks/ubuntu `weave run` rewrites `/etc/hosts` in the same way [the proxy does](/site/weave-docker-api/name-resolution-proxy.md). If you need to keep the original file, specify `--no-rewrite-hosts` when running the container: - $ weave run --no-rewrite-hosts 10.2.1.1/24 -ti ubuntu + $ weave run --no-rewrite-hosts 10.2.1.1/24 -ti weaveworks/ubuntu There are some limitations to starting containers using `weave run`: diff --git a/site/weave-docker-api/using-proxy.md b/site/weave-docker-api/using-proxy.md index 264ceb6a..0c1d5d0d 100644 --- a/site/weave-docker-api/using-proxy.md +++ b/site/weave-docker-api/using-proxy.md @@ -16,17 +16,17 @@ Weave network. To create and start a container via the Weave Net proxy run: - host1$ docker run -ti ubuntu + host1$ docker run -ti weaveworks/ubuntu or, equivalently run: - host1$ docker create -ti --name=foo ubuntu + host1$ docker create -ti --name=foo weaveworks/ubuntu host1$ docker start foo Specific IP addresses and networks can be supplied in the `WEAVE_CIDR` environment variable, for example: - host1$ docker run -e WEAVE_CIDR=10.2.1.1/24 -ti ubuntu + host1$ docker run -e WEAVE_CIDR=10.2.1.1/24 -ti weaveworks/ubuntu Multiple IP addresses and networks can be supplied in the `WEAVE_CIDR` variable by space-separating them, as in diff --git a/site/weavedns.md b/site/weavedns.md index 18c4679c..2e21d507 100644 --- a/site/weavedns.md +++ b/site/weavedns.md @@ -27,8 +27,8 @@ resolution, and will register themselves if they either have a hostname in the weaveDNS domain (`weave.local` by default) or are given an explicit container name: ``` -host1$ docker run -dti --name=pingme ubuntu -host1$ docker run -ti --hostname=ubuntu.weave.local ubuntu +host1$ docker run -dti --name=pingme weaveworks/ubuntu +host1$ docker run -ti --hostname=ubuntu.weave.local weaveworks/ubuntu root@ubuntu:/# ping pingme ... ``` diff --git a/site/weavedns/load-balance-fault-weavedns.md b/site/weavedns/load-balance-fault-weavedns.md index 7ffa4907..45e98c15 100644 --- a/site/weavedns/load-balance-fault-weavedns.md +++ b/site/weavedns/load-balance-fault-weavedns.md @@ -15,7 +15,7 @@ some ping tests. ``` host2$ weave launch $HOST1 host2$ eval $(weave env) -host2$ docker run -dti --name=pingme ubuntu +host2$ docker run -dti --name=pingme weaveworks/ubuntu root@ubuntu:/# ping -nq -c 1 pingme PING pingme.weave.local (10.32.0.2) 56(84) bytes of data. diff --git a/site/weavedns/managing-domains-weavedns.md b/site/weavedns/managing-domains-weavedns.md index 85fa895b..5096d953 100644 --- a/site/weavedns/managing-domains-weavedns.md +++ b/site/weavedns/managing-domains-weavedns.md @@ -25,7 +25,7 @@ behaviour. docker run -ti \ --dns-search=zone1.weave.local --dns-search=zone2.weave.local \ --dns-search=corp1.com --dns-search=corp2.com \ - --dns-search=weave.local ubuntu + --dns-search=weave.local weaveworks/ubuntu ``` ## Using a different local domain diff --git a/site/weavedns/managing-entries-weavedns.md b/site/weavedns/managing-entries-weavedns.md index e135082d..1b5ae4f2 100644 --- a/site/weavedns/managing-entries-weavedns.md +++ b/site/weavedns/managing-entries-weavedns.md @@ -20,7 +20,7 @@ If you want to give the container a name in DNS *other* than its hostname, you can register it using the `dns-add` command. For example: ``` -$ C=$(docker run -ti ubuntu) +$ C=$(docker run -ti weaveworks/ubuntu) $ weave dns-add $C -h pingme2.weave.local ```